是否有更高版本的mapply
,這樣它將遍歷列表並找出每個子組件之間的區別?mapply的多個應用程序
我有一個列表LL
其中包含子列表,我想找出每個子列表之間的差異。如果我分開做,我會做以下事情。
mapply("-", LL[[1]], LL[[2]])
mapply("-", LL[[1]], LL[[3]])
mapply("-", LL[[2]], LL[[3]])
目前我使用下面的方法 - 但它的感覺就像一個黑客攻擊(這不是很功能)。
set.seed(1)
x1 = 1:5
x2 = 5:1
x3 = seq(2, 10, 2)
xl <- list(x1, x2, x3)
y1 = rnorm(5)
y2 = runif(5)
y3 = seq(20, 12, -2)
yl <- list(y1, y2, y3)
z1 = rnorm(5)
z2 = runif(5)
z3 = seq(20, 12, -2) %% 3
zl <- list(z1, z2, z3)
LL <- list(xl, yl, zl)
LLdiff <- list()
combs <- combn(1:length(LL), 2)
for (i in 1:ncol(combs)) {
LLdiff[[i]] <- mapply("-", LL[[combs[,i][1]]], LL[[combs[,i][2]]])
}
什麼是這樣做的R
/functional
方式?
感謝
也許考慮'sweep'? – PascalVKooten
@Dualinity請以掃描示例爲答案? – ricardo