大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~ 就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~ 这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我! 从极简例子开始,认识几个批处理的函数。 1.apply处理矩阵或数据框,对每行/列实施相同的操作 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 2.lapply处理列表,对列表中的每个元素(向量)实施相同的操作 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 3.sapplysapply(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
|
|