计算列表列表中每个数据框架的平均值,并将其分配给R中的新向量
这是我的数据:
df1 <- data.frame(x = 1:5, y = letters[1:5])
df2 <- data.frame(x = 1:15, y = letters[1:15])
df3 <- data.frame(x = 1:25, y = letters[1:25])
df4 <- data.frame(x = 1:6, y = letters[1:6])
df5 <- data.frame(x = 1:8, y = letters[1:8])
l1 <- list(df1, df2)
l2 <- list(df3, df4, df5)
mylist <- list(l1, l2)
我想计算MyList内所有数据帧中X列的平均值,然后将它们放入新的空列表(或向量)中,例如:
mean_vec <- c(
mean(df1$x),
mean(df2$x),
mean(df3$x),
mean(df4$x),
mean(df5$x)
)
This is my data:
df1 <- data.frame(x = 1:5, y = letters[1:5])
df2 <- data.frame(x = 1:15, y = letters[1:15])
df3 <- data.frame(x = 1:25, y = letters[1:25])
df4 <- data.frame(x = 1:6, y = letters[1:6])
df5 <- data.frame(x = 1:8, y = letters[1:8])
l1 <- list(df1, df2)
l2 <- list(df3, df4, df5)
mylist <- list(l1, l2)
I want to calculate the mean of the x column in all data frames inside mylist, and put them in a new empty list (or vector), like so:
mean_vec <- c(
mean(df1$x),
mean(df2$x),
mean(df3$x),
mean(df4$x),
mean(df5$x)
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
基于
purrr :: map_depth
的另一个可能的解决方案:或使用
rrapply :: rrapply
,现在较短的解决方案,感谢 @Maël的评论,我感谢谁:Another possible solution, based on
purrr::map_depth
:Or using
rrapply::rrapply
, solution that is now shorter thanks to @Maël's comment, to whom I thank:您可以
UNLIST
您的嵌套列表,并为每个列表计算:rapply
的另一个选项:You can
unlist
your nested list and compute the mean for each:Another option with
rapply
:purrr
解决方案A
purrr
solution