Я думаю, что это очень новичок, но поиск в Интернете (и SO) не заставил меня понять ответ, несмотря на то, что вы пытаетесь найти немало решений. Вот проблема:Доступ к данным после разбивки на списки
У меня есть CSV набор данных со многими столбцами, например: yearID XY Z. Я прочитал это в использовании: data<-read.csv("/foo/bar.csv")
Оттуда я использую XY и Z, чтобы вычислить для каждой строки: data$A<-(X+Y)/Z
Теперь я хочу построить средний А в каждом году, поэтому я делаю: list_df <- split(data, data$yearID)
. Ура, я вижу, что если я делаю резюме (list_df [[5]]), я вижу резюме X Y Z и A на пятый год.
Вот где я застрял, я затем попытаться сделать что-то вроде:
for(year in list_df){
xy<-data.frame(mean(year$yearID, na.rm=T), mean(year$A, na.rm=T))
}
Этот цикл «работает» (он не выдаст ошибку), но то, что выходит в ху только в прошлом году и в среднем за этот год. В идеале, я хочу в конечном итоге заговорить «Avg A vs YearID». Я пробовал несколько перестановок в цикле for, основанный на других примерах кода, которые я нашел, но ни один из них не дал мне рабочего решения. Предложения наиболее Добро пожаловать в любую часть этого процесса, как я только начал изучать Р.
Cheers, Zach
Вы можете сделать это напрямую, используя 'aggregate'; Вот пример: «plot (aggregate (hp ~ cyl, mtcars, mean), col =« blue », pch = 19, cex = 2.5)' – ddunn801
Если вы могли бы включить воспроизводимый пример вашего набора данных в свой пост, это будет скорее всего, получите больше и лучших ответов. –