循环特定的观察并保存为输出文件

时间:2019-04-09 11:59:37

标签: r

是否可以通过一个函数循环进行特定观察然后保存输出?我编写了一个需要两个变量的函数: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)
}

请问有人可以帮助我改善代码吗?

非常感谢您的提前帮助!

2 个答案:

答案 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