大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~
就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~
这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!
从极简例子开始,认识几个批处理的函数。
处理矩阵或数据框,对每行/列实施相同的操作
usage: apply(X, MARGIN, FUN, …)
其中X是数据框/矩阵名;MARGIN为1表示取行,为2表示取列,fun是函数
(test<->1:4,1:4])
## 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
apply(test, 2, mean)
## Sepal.Length Sepal.Width Petal.Length Petal.Width ## 4.825 3.200 1.400 0.200
apply(test, 1, sum)
## 1 2 3 4 ## 10.2 9.5 9.4 9.4
处理列表,对列表中的每个元素(向量)实施相同的操作
usage:lapply(list, FUN, …)
price <- list(year2016="">36:33, year2017 = 32:35, year2018 = 30:27)#返回的是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile)lapply(price,mean)
## $year2016## [1] 34.5## ## $year2017## [1] 33.5## ## $year2018## [1] 28.5
unlist(lapply(price,mean))
## year2016 year2017 year2018 ## 34.5 33.5 28.5
sapply(X, FUN, …) 注意和lapply的联系和区别
也是处理列表,但返回值是向量或矩阵
lapply(price,min)
## $year2016## [1] 33## ## $year2017## [1] 32## ## $year2018## [1] 27
sapply(price,min)
## year2016 year2017 year2018 ## 33 32 27
lapply(price,quantile)
## $year2016## 0% 25% 50% 75% 100% ## 33.00 33.75 34.50 35.25 36.00 ## ## $year2017## 0% 25% 50% 75% 100% ## 32.00 32.75 33.50 34.25 35.00 ## ## $year2018## 0% 25% 50% 75% 100% ## 27.00 27.75 28.50 29.25 30.00
sapply(price,quantile)
## year2016 year2017 year2018## 0% 33.00 32.00 27.00## 25% 33.75 32.75 27.75## 50% 34.50 33.50 28.50## 75% 35.25 34.25 29.25## 100% 36.00 35.00 30.00
隔壁生信技能树公益视频合辑(学习顺序是linux,r,软件安装,geo,小技巧,ngs组学!)
联系客服