你好,我有一个数据框,我想表示一些行。我正在使用
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)
}
显示状态,但是上面函数的结果仅在不进行for循环的情况下才执行第一行的结果,而我正在为id20中的每个元素取结果,但是for循环给出了除第一行以外的行的NA结果。如果您能帮助我,我将不胜感激。谢谢。
答案 0 :(得分:1)
我们可以使用tidyverse
进行此操作。按'X'分组,用原始数据集的行mean
和summarise_all
获得所有列的bind
library(tidyverse)
dfWoNA %>%
group_by(X) %>%
summarise_all(mean, na.rm = TRUE) %>%
bind_rows(dfWoNA, .)