如何避免R中的嵌套映射
我知道嵌套的lappy函数可以被rappy替换,如下所示 对于3级嵌套列表:如何避免R中的嵌套映射,r,R,我知道嵌套的lappy函数可以被rappy替换,如下所示 对于3级嵌套列表: lapply(data,function(x) lapply(x,function(x) lapply(x,function(x)funca(x)))) 相当于 rapply(data, function(x) sum(x),how = "list") PS:如果我对拉普拉和拉普拉的理解是错误的,请纠正我 # 现在我有一个场景,我必须为相同的3级嵌套列表编写mapply,如下所示 mapply(function(x
lapply(data,function(x) lapply(x,function(x) lapply(x,function(x)funca(x))))
相当于
rapply(data, function(x) sum(x),how = "list")
PS:如果我对拉普拉和拉普拉的理解是错误的,请纠正我
#
现在我有一个场景,我必须为相同的3级嵌套列表编写mapply,如下所示
mapply(function(x,y) mapply(function(x,y) mapply(function(x,y) funcb(x,y),x,y),x,y),data1,data2,SIMPLIFY=FALSE)
我可以用single mapply替换它吗(即mapply是否具有Rappy的固有属性,或者是否有其他等效功能可用
我试着用一个mapply替换它,它给了我一个稍微不同的结果,结果列表中只有几个值。我只是想澄清一下
#
输入列表1:(三级嵌套列表)
#
输入列表2(3级嵌套列表)(结构与列表1相同)
使用上述列表执行的函数类似于
(1 128 177 82 18 156 1)小于一个常量,例如(7),然后将列表2中的相应值(120.8)减少10%左右
输出结构应类似于输入结构为
mapply
创建递归函数。请提供一个小的可复制示例和预期outputI akrun,如果您需要关于预期outputI的任何进一步说明,请告诉我,如上文所述,我做了嵌套映射。只是想知道是否有更好的方法,请使用dput(…)
显示数据。为mapply
创建递归函数。请提供一个小的可复制示例和预期outputI akrun,如果您需要关于预期outputI的任何进一步说明,请告诉我,如上文所述,我做了嵌套映射。只是想知道是否有更好的方法,请使用dput(…)
显示您的数据。
[[1]]
[[1]]
[[1]][[1]]
[1] 1 128 177 82 18 156 1
[[1]][[2]]
[1] 1 142 65 141 107 143 1
[[1]][[3]]
[1] 1 179 92 34 194 171 1
[[2]]
[[2]][[1]]
[1] 1 128 177 82 18 156 1
[[2]][[2]]
[1] 1 142 65 141 107 143 1
[[2]][[3]]
[1] 1 179 92 171 1
[[2]]
[[1]]
[[1]][[1]]
[1] 1 128 177 156 1
[[1]][[2]]
[1] 1 107 143 1
[[1]][[3]]
[1] 1 179 92 34 194 171 1
[[2]]
[[2]][[1]]
[1] 1 128 177 82 18 156 1
[[2]][[2]]
[1] 1 142 107 143 1
[[2]][[3]]
[1] 1 179 92 34 194 171 1
[[1]]
[[1]]
[[1]][[1]]
[1] 120.8
[[1]][[2]]
[1] 192.7
[[1]][[3]]
[1] 992
[[2]]
[[2]][[1]]
[1] 895
[[2]][[2]]
[1] 220
[[2]][[3]]
[1] 440
[[2]]
[[1]]
[[1]][[1]]
[1] 203
[[1]][[2]]
[1] 404
[[1]][[3]]
[1] 20.35
[[2]]
[[2]][[1]]
[1] 45.6
[[2]][[2]]
[1] 56.93
[[2]][[3]]
[1] 99.3