зацикливание на конкретном наблюдении и сохранение в качестве выходного файла - PullRequest
0 голосов
/ 09 апреля 2019

Можно ли выполнить циклическое обследование с помощью функции и сохранить результат? Я написал функцию, которая требует двух переменных: 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 ]

2 голосов
/ 09 апреля 2019

Использование dplyr функций:

library(dplyr)
df1 %>%
  group_by(subject) %>%
  summarise(mean = mean(data, na.rm = T))
1 голос
/ 09 апреля 2019

Мы можем использовать aggregate от base R

aggregate(data~ subject, df1, mean)
#   subject data
#1      S1    4
#2      S2    3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...