我有一个下一个结构数据帧 qw[[i]],i = 19(嵌套列表)。例如:
dput(qw[[19]])
list(c(87.6755555555556, 36, 117.277222222222, 64.7858333333333
), c(46.44, 19.4966666666667, 207.101666666667, 92.5783333333333)
...
而且我不知道如何使用 lapply (X, FUN =norm) 来计算每个 block 的norm:
list(c(87.6755555555556, 36, 117.277222222222, 64.7858333333333)
qnw <- lapply(matrix(unlist(qw)), FUN = norm)
在我得到同样的错误后:
Error in FUN(X[[i]], ...) : 'A' must be a numeric matrix
如何解决?
最佳答案
它看起来像是一个向量
的嵌套列表
。我们可以使用递归apply (rapply
)
rapply(qw, f = \(x) norm(matrix(x)))
或者使用嵌套的sapply/lapply
as.vector(sapply(qw, \(x) sapply(x, \(y) norm(matrix(y)))))
关于r - 使用 lapply 嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71414767/