У меня есть список фреймов данных, и я хочу вычислить среднее значение для каждой первой строки для всех вторых строк и т. Д. c.
Я думаю, что это возможно, если создать некоторый общий фактор в качестве индекса, соединить кадры данных, используя rbind
, а затем вычислить среднее значение, используя aggregate(value ~ row.index, mean, large.df)
. Тем не менее, я думаю, что есть более простой способ?
Вот мой пример:
df1 = data.frame(val = c(4,1,0))
df2 = data.frame(val = c(5,2,1))
df3 = data.frame(val = c(6,3,2))
myLs=list(df1, df2, df3)
[[1]]
val
1 4
2 1
3 0
[[2]]
val
1 5
2 2
3 1
[[3]]
val
1 6
2 3
3 2
И мой ожидаемый вывод данных в виде фрейма, как по часовой стрелке означает:
df.means
mean
1 5
2 2
3 1
My первые шаги, пока не работают должным образом:
# Calculate the mean of list by rows
lapply(myLs, function(x) mean(x[1,]))