R 如何计算每行两个列表的平均值

R 如何计算每行两个列表的平均值,r,R,我有两份清单如下: l1 <- list(a=1, b=2, c=3) l2 <- list(a=4, b=5, c=6) l1我们可以使用Map Map(function(x,y) mean(c(x,y)), l1, l2) 或者使用map2frompurr purrr::map2(l1, l2, ~ mean(c(.x, .y))) 或者使用tidyverse library(tidyverse) bind_rows(l1, l2) %>% summ

我有两份清单如下:

l1 <- list(a=1, b=2, c=3)
l2 <- list(a=4, b=5, c=6)

l1我们可以使用
Map

Map(function(x,y) mean(c(x,y)), l1, l2)

或者使用
map2
from
purr

purrr::map2(l1, l2, ~ mean(c(.x, .y)))

或者使用
tidyverse

library(tidyverse)
bind_rows(l1, l2) %>% 
      summarise_all(mean) %>%
      unlist() %>%
      relist(., skeleton = l1)

或者另一种选择是

relist((unlist(l1) + unlist(l2))/2, skeleton= l1)
注意:所有解决方案都返回一个
列表
,如文章中提到的OP所示

使用:

colMeans(do.call(rbind.data.frame, list(l1,l2)))
给出:

  a   b   c 
2.5 3.5 4.5 
colMeans(do.call(rbind.data.frame, list(l1,l2)))
  a   b   c 
2.5 3.5 4.5