美文网首页
2022-09-29 apply小技巧

2022-09-29 apply小技巧

作者: 学习生信的小兔子 | 来源:发表于2022-09-29 08:28 被阅读0次
 介绍apply()
apply 处理的是矩阵或者数据框的行或者列
 apply(X, MARGIN, FUN, …) 
 其中X为一个数组;MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),
 若为1表示取行,为2表示取列,为c(1,2)表示行、列都计算。
截取数据几列
load(file = "data/brca.Rdata")
ma <- exprSet[,5:9]
## 按行操作
apply(ma,1, sum)
rowSums(ma)
identical(apply(ma,1, sum),rowSums(ma))

## 按列操作
apply(ma,2, mean)
colMeans(ma)

apply实战中的作用

去掉表达值一致的基因

load(file = "data/apply_var.Rdata")
test <- rt[,1:10]
dd <- rt[,-c(1,2)]
sum(apply(dd,2,var)==0)
dd1 <- dd[,apply(dd,2,var)!=0]  #保留表达值不一致的基因
#看看表达值一致的基因
dd2=dd[,apply(dd,2,var)==0]

2.批量转换

rm(list = ls())
load(file = "data/expreSet.Rdata")
## 注意,学会str的用法
str(expreSet)
test <- expreSet[,2]
head(test)
[1] 7.24559 6.82711 4.39977 9.48025 4.54734 6.80701
31333 Levels: 2.71059 2.72014 2.73927 2.76276 ... 14.5467
#可看出是因子水平
直接转换为数字不行
#正确做法
as.numeric(as.character(test))


## 两次批量操作
dd1 <- apply(expreSet,2,as.character)
dd2 <- apply(dd1,2,as.numeric)
dd3 <- as.data.frame(dd2)
## 注意,学会str的用法
str(dd3)

相关文章

网友评论

      本文标题:2022-09-29 apply小技巧

      本文链接:https://www.haomeiwen.com/subject/giwhartx.html