有没有一种简单的方法可以在列表列表中进行简单的计算?
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/