【发布时间】:2021-01-26 03:27:54
【问题描述】:
我有两个不同结构的列表。列表 A 是数据帧列表(包含 1 行 10 列),列表 B 是 10x 10 矩阵列表,如下所示:
List A
[[1]]
[1] dataframe (of 1 column)
[[2]]
[1] dataframe (of 1 column)
List B
[[1]]
[1] num (1:10)
[[2]]
[2] num (10 x 10)
Example:
ListA <- list(A = A <- data.frame(matrix(rnorm(10), ncol = 10, nrow = 1)),
B = B <- data.frame(matrix(rnorm(10), ncol = 10, nrow = 1)))
ListB <- list(B = A <- rnorm(10),
A = B <- rnorm(10)
C = C <- rnorm(10) )
我想为列表 B 的每个向量乘以 (%*%) 灯 A 的每个数据帧。
像这样:A%*%B, A%*%A, A%*%C, B%*%B, B%*%A, B%*%C 并且还有计算每个元素名称的结果。
我尝试了Map(%*%, ListA, ListB),但没有成功。
【问题讨论】:
-
另外,由于列表的长度不同,是否有(或者更好的方法)使用元素名称来运行此操作?示例:
ListA$A %*% ListB$B、ListA$A %*% ListB$A、ListA$A %*% ListB$C、ListA$B %*% ListB$B、ListA$B %*% ListB$A、ListA$B %*% ListB$C?
标签: r list dictionary apply