Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.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_Dplyr_Tidyr - Fatal编程技术网

R 合并/合并缺少数据的行

R 合并/合并缺少数据的行,r,dplyr,tidyr,R,Dplyr,Tidyr,我更喜欢有data.table、tidyr或dplyr的数据,因为我有一个相当大的数据集。 关于数据,我有一个数据集,如下所示: GVar1 Stop1 Stop2 Stop3 Stop4 (...) 1 A NA NA NA (...) 1 NA B D NA (...) 2 D J E NA

我更喜欢有
data.table
tidyr
dplyr
的数据,因为我有一个相当大的数据集。 关于数据,我有一个数据集,如下所示:

GVar1     Stop1   Stop2   Stop3   Stop4   (...)
   1        A      NA      NA      NA     (...)
   1        NA     B       D       NA     (...)
   2        D      J       E       NA     (...)
   3        F      NA      NA      NA     (...)
   3        NA     B       NA      NA     (...)
   3        NA     NA      C       NA     (...)
   3        NA     NA      NA      J      (...)
请注意,有4个以上的停止列,它们可能因数据集而异。然而,它们总是被称为Stop,后跟一个数字。 想法是通过
GVar1
和所有列合并,以如下方式结束:

GVar1     Stop1   Stop2   Stop3   Stop4   (...)
   1        A      B       D      NA     (...)
   2        D      J       E       NA     (...)
   3        F      B       C       J      (...)
到目前为止,我已经尝试了从
dplyr
DT[,]
data.table
和一些其他选项中总结
,但没有任何效果。

我有一种感觉,我应该使用
dplyr
,如果你有其他
的话,但是到目前为止我还不能得到我想要的结果,因为我有很多未指定的列。

比如
DT[,lapply(.SD,na.omit),GVar1]
。@lukeA,我不得不用
“GVar1”
替换
GVar1
,但是我在drop&>中得到了一个错误
!has.j:x&&y中的“x”类型无效
。由于我正在处理大约900万个观察值,因此使用
lappy
的速度似乎非常慢。如果可能,请提供一个示例,再现错误,并演示性能问题。@lukeA关于错误,在将其再次转换为data.table后已修复。所以我想这是站在我这边的。关于性能,900万个结果需要288.349秒,基于我拥有的其他函数,这似乎很慢。大多数操作即使是汇总
,所需时间也不会超过10秒。但是我以前在
lappy
上看到过如此缓慢的速度,所以我想知道是否有替代品。我想提供一个例子,但我不能在这里发布包含22个变量的900万个结果。所以上面的例子是我能做的最大值。'lappy'只选择列。很抱歉,但至少对我来说,很难根据您的数据给出建议。然而,到目前为止,我还不是数据表专家或任何东西。所以也许其他人有建议。