Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何映射参数是引用列表还是引用函数的参数?_R_Rstudio - Fatal编程技术网

R 如何映射参数是引用列表还是引用函数的参数?

R 如何映射参数是引用列表还是引用函数的参数?,r,rstudio,R,Rstudio,我有一个关于mapply的问题,它允许我们在指定为参数的多个列表上同时执行函数 请参阅下面的代码。这里,mapply执行(l1$a[1]+l1$b[1]+l2$a[1]+l2$b[1]),直到(l1$a[10]+l1$b[10]+l2$c[10]+l2$d[10])。如果我的意思是sum函数独立地处理每个列表,即l1$a、l1$b、l2$a、l2$b,并返回每个列表中的元素之和,那么输出将只有四个和呢 > l1 <- list(a = c(1:10), b = c(11:20)) &

我有一个关于mapply的问题,它允许我们在指定为参数的多个列表上同时执行函数

请参阅下面的代码。这里,mapply执行(l1$a[1]+l1$b[1]+l2$a[1]+l2$b[1]),直到(l1$a[10]+l1$b[10]+l2$c[10]+l2$d[10])。如果我的意思是sum函数独立地处理每个列表,即l1$a、l1$b、l2$a、l2$b,并返回每个列表中的元素之和,那么输出将只有四个和呢

> l1 <- list(a = c(1:10), b = c(11:20))
> l2 <- list(a = c(21:30), b = c(31:40))
> mapply(sum, l1$a, l1$b, l2$a, l2$b)
 [1]  64  68  72  76  80  84  88  92  96 100
>l1-l2映射(总和,l1$a,l1$b,l2$a,l2$b)
[1]  64  68  72  76  80  84  88  92  96 100

我想你需要
sapply(append(l1,l2),sum)#a b b 55 155 255 355
`实际上,你也可以使用几分钟前问过的c函数。您还可以检查sappy(c(l1,l2),函数(x)sum(x))或sappy(c(l1,l2,sum)