【发布时间】:2016-06-07 09:18:54
【问题描述】:
我正在处理一些列表和矩阵,但在正确处理数据时遇到了一些问题。假设我定义了以下矩阵和列表(仅作为示例):
m1 <-array(rexp(5),dim=c(3,3,3))
mn <-apply(m1,1:2,mean)
ms <-apply(m1,1:2,sum)
msqr <-apply(ms,1:2,sqrt)
list1 <- list(mn,ms)
list2 <- list(ms,msqr)
然后,我想从 m1(具有不同维度)中减去 mn,但要避免循环。我的意思是,到目前为止,我正在做类似的事情:
dif <- array(NA,dim=c(3,3,3))
for(i in 1:3){
for(j in 1:3){
dif[i,j,]<- m1[i,j,]-mn[i,j]
}
}
另一方面,我想将两个列表相乘:list1 和 list2(逐个元素),以获得另一个具有相同数量元素的 list3。 我正在尝试使用 sapply..但我做得不好..我想我可以在这两个示例中使用一些功能(mapply 或 sapply),但我看不出如何..有什么建议吗?
谢谢!
【问题讨论】:
-
Map('*', list1, list2)你的第二个问题
标签: r