专题4.隐式循环
1.apply-矩阵或数据框
apply(X, MARGIN, FUN, …)
其中X是数据框/矩阵名;
MARGIN为1表示行,为2表示列,FUN是函数
代码语言:text复制# 从iris里拿出一部分数据(前六行以及前四列)进行演示
test<- iris[1:6,1:4];test
代码语言:txt复制## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1 5.1 3.5 1.4 0.2
## 2 4.9 3.0 1.4 0.2
## 3 4.7 3.2 1.3 0.2
## 4 4.6 3.1 1.5 0.2
## 5 5.0 3.6 1.4 0.2
## 6 5.4 3.9 1.7 0.4
代码语言:text复制class(test)
代码语言:txt复制## [1] "data.frame"
代码语言:text复制apply(test,2,mean) # 计算每一列的平均值
代码语言:txt复制## Sepal.Length Sepal.Width Petal.Length Petal.Width
## 4.9500000 3.3833333 1.4500000 0.2333333
代码语言:text复制apply(test,1,sum) # 计算每一行的求和
代码语言:txt复制## 1 2 3 4 5 6
## 10.2 9.5 9.4 9.4 10.2 11.4
2.lapply-向量或列表
对列表/向量中的每个元素实施相同的操作
lapply(x,function)
x = list or vector
代码语言:text复制# 用的不多就不细说了
lapply(1:4,rnorm) # 1:4是指由1、2、3、4四个数字组成的向量,后面那个是函数
代码语言:txt复制## [[1]]
## [1] 0.7631465
##
## [[2]]
## [1] 0.7791411 -0.7520658
##
## [[3]]
## [1] -1.0453939 0.5303851 -2.3555369
##
## [[4]]
## [1] -1.4277072 1.7687711 0.5577922 -0.4110200
引用自生信技能树