【发布时间】:2019-02-08 03:43:00
【问题描述】:
您好,我有一个数据框,我想表示一些行。我正在使用
imc <- dfWoNA[1,]
imc <-head(imc,-1)
id20 <- unique_entrezgene_ids[1:20]
for (j in id20) {
rows <- dfWoNA [which(dfWoNA$X == as.double(j)),]
temp <- colMeans(rows[,2:285], na.rm = FALSE)
nx <- c(j,temp)
imc <- rbind(imc,nx)
rm(rows)
rm(nx)
rm(temp)
}
显示状态但是上面函数的结果我只为第一行获取结果如果没有手动循环我正在为 id20 中的每个元素获取结果但 for 循环为除第一行之外的行提供 NA 结果.如果你能帮助我,我很感激。谢谢你。
【问题讨论】:
-
在 R 中,90% 的时间你想要循环,你不应该循环。研究“矢量化”。正如 akrun 在他的回答中显示的那样,这可以很容易地用两三行来完成。另一种选择是
rowMeans。