【发布时间】:2015-02-09 07:20:24
【问题描述】:
我有两个包含多个元素的列表,我想使用这两个列表并应用一个公式(函数)
例如,假设我有两个列表 A 和 B,其中包含两个元素 x 和 y(我有 1000 个元素,例如假设我们有 2 个元素 x 和 y)
listA <- list(x=matrix(rnorm(50), nrow=10),
y=matrix(rnorm(50), nrow=10))
listB <- list(x=matrix(rnorm(5), nrow=1),
y=matrix(rnorm(5), nrow=1))
对于每一行,我需要为 listA 和 listB 中具有相同元素的每一行应用以下公式,并将其保存在相应的列表中,如下所示,对于列表 x 和 y 的 2 行。我需要为所有 rwo 和多个列表重新分配此内容。
#For list X
# for row 1 listA
abs(listA$x[1,]-listB$x[1,])/(abs(listA$x[1,])+abs(listB$x[1,]))
# for row 2 listB
abs(listA$x[2,]-listB$x[1,])/(abs(listA$x[2,])+abs(listB$x[1,]))
#For list Y
# for row 1
abs(listA$y[1,]-listB$y[1,])/(abs(listA$y[1,])+abs(listB$y[1,]))
# for row 2
abs(listA$y[2,]-listB$y[1,])/(abs(listA$y[2,])+abs(listB$y[1,]))
我一直在尝试使用lapply 和mapply,但到目前为止还没有成功。
【问题讨论】: