R语言专题4-隐式循环

2023-09-17 19:19:34 浏览数 (1)

专题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

引用自生信技能树

0 人点赞