我有一个包含1000列和8行的数据框,我需要计算行均值。我试过这个循环:
final <- as.data.frame(matrix(nrow=8,ncol=1))
for(j in 1:8){
value<- mean(dataframe[j,])
final[j,]<-value
}
但出现以下错误:
在mean.default(df2 [j,])中:参数不是数字或逻辑: 返回NA
答案 0 :(得分:8)
使用rowMeans()
功能:
final$mean <- rowMeans(final, na.rm=TRUE)
请注意,您应该避免在日常R
操作中使用循环。如果您想自己迭代所有行,可以使用apply()
函数,如下所示:
final$mean <- apply(final, 1, function(x) { mean(x, na.rm=TRUE) })