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'只选择列。很抱歉,但至少对我来说,很难根据您的数据给出建议。然而,到目前为止,我还不是数据表专家或任何东西。所以也许其他人有建议。