Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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
在lappy-R中使用cbind获取错误_R - Fatal编程技术网

在lappy-R中使用cbind获取错误

在lappy-R中使用cbind获取错误,r,R,让我有一个数据帧列表(l1)和一个由整数组成的向量(v1) 我想把v1和l1的每个元素结合起来。让我们: l1[[1]]: head1 ----- 4 3.2 4.1 l1[[2]]: head2 ----- 1.2 0.9 3.2 让 v1: 因此,结果列表(l2)应为: l2[[1]]: head3 head1 ----- ----- 5 4 4 3.2 7 4.1 l2[[2]]: head3 head2 -----

让我有一个数据帧列表(l1)和一个由整数组成的向量(v1)

我想把v1和l1的每个元素结合起来。让我们:

l1[[1]]:

head1
-----
4
3.2
4.1
l1[[2]]:

head2
-----
1.2
0.9
3.2 

v1:

因此,结果列表(l2)应为:

l2[[1]]:

   head3 head1
   ----- -----
    5    4
    4    3.2
    7    4.1
l2[[2]]:

   head3 head2
   ----- -----
    5    1.2
    4    0.9
    7    3.2 
我使用以下代码:

l2<-lapply(l1, function(i) cbind(v1,l1[[i]]))

为什么会出现这个错误?我将非常高兴能得到任何帮助。非常感谢。

我们可以使用
Map

Map(cbind, l1, v1)
如果“v1”是
向量

Map(cbind, l1, list(v1))
或者用
lappy

lapply(seq_along(l1), function(i) cbind(v1, l1[[i]]))
或者使用
transform
创建新列

lapply(l1, transform, head3=v1$head3)
注意:假设“v1”是一个
数据帧


OP代码中出现错误,因为它正在通过“l1”循环。“l1”的每个元素都是一个“data.frame”。所以,我们可以将其用于子集。或者,我们应该循环遍历“l1”序列,并通过索引将“l1”子集化,或者直接传递“l1”并创建列

lapply(seq_along(l1), function(i) cbind(v1, l1[[i]]))
lapply(l1, transform, head3=v1$head3)