r - R中带有列表的两个列表的总和

标签 r list sum

有没有一种简单的方法可以在列表列表中进行简单的计算?

x <- list(a=list(1:4),b=list(1:6))
y <- list(a=list(1:4),b=list(1:6))

当我尝试:
x+y

我收到错误:
x + y 中的错误:二元运算符的非数字参数

X 和 y 的长度相等,并且仅包含整数。使用矩阵可以做 y+x,有没有办法对带有列表的列表执行此操作?

最佳答案

您可以使用 lapply同时浏览每 2 个列表。

 lapply(seq_along(x),function(i)
         unlist(x[i])+unlist(y[i]))

[[1]]
a1 a2 a3 a4 
 2  4  6  8 

[[2]]
b1 b2 b3 b4 b5 b6 
 2  4  6  8 10 12 

如果 x 和 y 的长度不同,您可以这样做:
 lapply(seq_len(min(length(x),length(y)),function(i)
         unlist(x[i])+unlist(y[i]))

关于r - R中带有列表的两个列表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273941/

相关文章:

r - 从 R Survey 包运行 svymean 时,我可以得到 unwtd.count 吗?

c# - 如何迭代两个项目之间的集合?

sql - 如何使用 SQL MAX(SUM()) 函数

r - 在 gWidgetsRGtk2 中使用 ggplot2

r - ggplot2:添加线和点显示手段(stat_summary)

带列表的 Python IF IN 语句

c++ - 类列表的 vector 中的值不被修改

c++ - C++ 中的简单数组求和

excel - 用空白计算唯一值excel公式

r - 自相关不规则时间序列 R