【发布时间】:2016-08-25 16:24:34
【问题描述】:
我有 2 个矩阵 A 和 B 的列表:
n<-10
generate<-function (n){
matrix(runif(10*10),ncol = 10)
}
A<-lapply(1:n, generate)
B<-lapply(1:n, generate)
我正在尝试使用 lapply 通过具有两个输入的函数运行它。我的函数是我创建的函数ABC():
ABC(x,y)
我现在尝试使用 lapply 运行列表 A for x 和 B for y:
l<-lapply(A,B, ABC(x,y))
这不起作用,因为它将 B 识别为函数而不是应与 y 关联的列表。我需要使用sapply 或mapply吗?如果需要怎么办?
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
当你尝试
mapply时发生了什么? -
您的函数
generate将n作为输入,但它不会在函数中的任何位置使用n。 -
@Dirty Sock Sniffer 在使用
mapply时得到以下Error in get(as.character(FUN), mode = "function", envir = envir) : object 'b' of mode 'function' was not found。 @bouncyball 这不是我的问题,它是 lapply 位。 -
@adaodante
mapply(x = A, y = B, FUN = function(x, y) ABC(x, y)) -
@bouncyball 谢谢
mapply(x = A, y = B, FUN = function(x, y) ABC(x, y))再次工作谢谢。
标签: r list lapply sapply mapply