是否可以通过一个函数循环进行特定观察然后保存输出?我编写了一个需要两个变量的函数:1)数据集进行计算; 2)主题编号。
例如,此处的数据框包含两个主题的数据。我希望遍历数据框以计算每个主题的平均值并获得每个主题的输出。
df1<-data.frame(data= c(2,3,4,5), subject= c("S2","S1","S2","S1"))
for (i in df1) {
if df1$subject== i
subset_(i)<-mean(data)
}
请问有人可以帮助我改善代码吗?
非常感谢您的提前帮助!
答案 0 :(得分:2)
使用dplyr
函数:
library(dplyr)
df1 %>%
group_by(subject) %>%
summarise(mean = mean(data, na.rm = T))
答案 1 :(得分:1)
我们可以使用aggregate
中的base R
aggregate(data~ subject, df1, mean)
# subject data
#1 S1 4
#2 S2 3