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/

你可能感兴趣的:(R语言——常用函数)