我是R语言编程的新手,并且正在使用包含数百个变量和数千个观测值的庞大数据集。在这些变量中,有年龄是我主要关注的问题。我想获得年龄函数中其他变量的均值。我可以用它得到较小的桌子:
for(i in 18:84)
{
n<- sprintf("SortAgeM%d",i)
assign(x=n,subset(SortAgeM,subset=(SortAgeM$AGE>=i & SortAgeM$AGE<i+1)))
}
"SortAgeM85plus"<-subset(SortAgeM,subset=(SortAgeM$AGE>=85 & SortAgeM$AGE<100))
这为我关注的每个年龄段提供了子数据集。然后,我想获取每一列的均值。每列都是对特定大脑区域体积的观察。我很想知道音量随着时间如何减少,我想知道一个给定年龄的人是否接近其平均年龄。
现在,我想再得到一行,每一列的均值。所以我尝试了这个:
for(i in 18:85) {
addmargins((SortAgeM%d,i), margin=1, FUN= "mean")
}
但是它没有用...我被卡住了,我对R函数还不够熟悉,无法在网上找到解决方案... 谢谢您的帮助。
维克多
帖子答案编辑:这是我最终所做的:
for(i in 18:84)
{
n<- sprintf("SortAgeM%d",i)
assign(x=n,subset(SortAgeM,subset=(SortAgeM$AGE>=i & SortAgeM$AGE<i+1)))
Ajustment<-c(NA,NA,NA,NA,NA,NA,NA) #first variables aren't numeric
Line1<- colMeans(item[,8:217],na.rm=TRUE)
Line<-c(Ajustment,Ligne1)
assign(x=n, rbind(item,Ligne))
}
答案 0 :(得分:1)
如果您只想在每一列的平均值上增加一行,则可以像这样用rbd输入df的colMeans
df_new <- rbind(df, colMeans(df))