R语言——常用函数

mean( ) ——均值
abs( ) ——绝对值
sqrt( ) ——求平方根v
median( ) ——中位数
sd( ) ——标准差
var( ) ——方差
n( ) —— 计数
summary( ) 函数——提取模型资料
args( ) ——查看某函数的所有参数名
length( ) ——向量的长度
trunc( ) 函数——提取整数
round( ) ——四舍五入
factorial( ) ——阶乘
replicate( ) 函数——重复运行

* 将一个小数四舍五入到最近的整数
> if(max>=0.5) {a<-trunc(a)+1
}else { a<-trunc(a) }
a
// 如果小数部分max>0.5,就等于整数部分+1;否则就等于整数部分。
  • dim( ) 函数——赋予向量维度属性
dim(x)<-c(2,3)
x
将向量x重新组合成两行三列的矩阵 
       [,1]  [,2]  [,3]
[1,]    1    3    5
[2,]    2    4    6
  • matrix( ) 函数——根据参数的数值来将向量中的元素排列成nrow行或ncol列
x<-1:6
xx<-matrix(x,nrow=2)
xx
// 
    [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
  • data.frame( ) 函数——创建数据框,每个向量之间用逗号隔开
mm<-data.frame(a=c("one","two","three"),
 b=c("jan","feb","mar"),
 x=c(1,2,3 ) )
mm
//
     a   b  x
1   one  jan  1
2   two  feb  2
3  three  mar  3

【数据处理】:

  • View()函数,查看R包datasauRus的数据。
datasaurus_dozen %>% View()
  • str()函数,紧凑的显示对象内部结构。查看数据框中的变量和变量类型。
str(datasaurus_dozen)
  • unique()函数,返回一个把重复元素或行给删除的向量。查看数据框中dataset列有几个不同的元素。
unique(datasaurus_dozen$dataset)
  • 从datasaurus_dozen数据框中,按不同dataset分组,求每个分组x和y的平均值、方差、协方差数据。
 datasaurus_dozen%>%
  group_by(dataset)`%>%
  summarize(
    mean_x=mean(x),
    mena_y=mean(y),
    std_dev_x=sd(x),
    std_dev_y=sd(y),
corr_x_y=cor(x,y))

【索引】

[ , ] ——索引参数;第一个参数选择行,第二个参数选择列

m[2,3]      
提取m向量中第2行第三列的元素

> 负整数索引——R返回的元素不包含负整数索引对应的元素
m[-1,1:3]             
提取m向量中除第一行以外,1至3列的所有元素

> 空格索引
m[1, ]                        
提取m向量中第一行的所有元素

$ ——(数据框名称$提取的列名称)
mean(deck$value)                                   
计算数据框deck中第value列的均值

deck2$new=NULL                                     
删除数据框deck2中第value列

%>% 管道,阅读代码时读作“然后”
x %>% f(y) 转换为 f(x,y)
x %>% f(y) %>% g(z) 转换成 g(f(x,y),z)

【if语句】

* If( this ) { that }       #在某个特定条件下执行某特定任务 

* if (this ) {planA} else {planB}   #如果条件为真,执行A计划,否则执行B计划

* if(this){planA}   
     else if(that){planB} 
     else{planC}              #多重条件
R会逐一测试if条件,直到有一个条件的求值结果为TRUE;如果面临两个以上的互斥情况,
可以将if和else结合起来使用;如果没有一个条件为TRUE,R就会运行最后一条else语句
对应的命令。
if (  ) {  print (  )  }
else  if (  ) { print( ) }
 else {  (  )  }

【例】
m=-3
if(m<0){m<-m*-1}
如果m<0,那么m=m*-1,从而保证m为正数

【for循环】

for ( m in that) { this }
对于出现that中的每一个值,for都会运行一遍this中的代码,m为函数参数。
for ( i in vector ) { code }
i占位符
in后面为向量
{ }内是需要循环的代码

 for(m in c("a","b","c")){
       print("hello")  }

[1] "hello"
[1] "hello"
[1] "hello"

【function函数】

function_name<-function( x1,x2,....) {code}
x1,x2...是参数, { }内是函数主体

new.function<-function(a){
    for(i in 1:a){
          b<-i^2
         print(b)}
             }

【连接】

内连接 inner_join
左连接 left_join
右连接 right_join
全连接 full_join

x%>% inner_join(y,by="key")        生成新数据框,其中包含x值和y值
left_join(x,y,by="key")            保留x中的所有观测
right_join(x,y,by="key")           保留y中的所有观测
full_join(x,y,by="key")            保留x和y中的所有观测

【分布函数】

  • runif( ) ——均匀分布 runif(n,min=0,max=1)
    n表示生成的随机数数量;min表示均匀分布的下限;max表示均匀分布的上限;若省略min和max,则默认生成[0,1]上的均匀分布随机数。
runif(5) 
// 生成5个[0,1]上的均匀分布随机数
  • rnorm( ) ——正态分布
    rnorm(n,mean=0,sd=1),n为生成随机数的数量;mean是平均数,sd是方差
rnorm(100)   
 // 产生100个服从正态分布的随机数

rnorm(100,3,4)   
// 产生100个均值为3,方差为4的随机数
  • rexp( ) ——指数分布
rexp(n,rate=1)

na.omit( ) ——去掉缺失值所在行
na.rm=TRUE ——在计算前除去缺失值
is.na()函数——查看数据中的缺失值,缺失值会显示为TRUE

vec<-c(1,2,3,NA)
is.na(vec)
// FALSE FALSE FALSE  TRUE
  • sample( ) 函数, sample(x,size)——从向量X中抽取size个元素并返回
sample(x=1:6,size=2)  
// 1 4

* 增加 replace=TRUE ——不放回抽样 ,(x,size,replace=TRUE)
sample(x=1:6,size=3,replace=TRUE)

print( ) 函数——输出成字符串
attributes( ) 函数——查看对象的属性
row.names( ) 函数——改变某个函数的取值
attr ( ) 函数——给某个对象添加任何属性,或查询某个对象包含的属性

expand.grid( ) 函数——写出n个向量元素的所有组合

die<-1:6
m<-expand.grid(die,die)
m

https://jorryyang.gitee.io/rdata/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容