如何用变量值分解R数据帧

如何用变量值分解R数据帧,r,dataframe,R,Dataframe,我觉得这是一个难以置信的基本问题,但经过广泛的搜索,我还没有找到一个适合我的具体情况的答案。我发现的所有情况都比我的复杂一些,解决方案也不适合我。我有一个数据帧,其中最后一列只是0或1。我想根据第三列的值将此数据帧拆分为两个数据帧,这样最后一列中所有带0的行都在一个数据帧中,最后一列中带1的所有行都在另一个数据帧中。我还希望保留两个数据框中的原始列标题。将下面的var3替换为Thor变量的名称,或使用data[,3]而不是data$var3 您应该阅读Hadley Wickham的Advance

我觉得这是一个难以置信的基本问题,但经过广泛的搜索,我还没有找到一个适合我的具体情况的答案。我发现的所有情况都比我的复杂一些,解决方案也不适合我。我有一个数据帧,其中最后一列只是0或1。我想根据第三列的值将此数据帧拆分为两个数据帧,这样最后一列中所有带0的行都在一个数据帧中,最后一列中带1的所有行都在另一个数据帧中。我还希望保留两个数据框中的原始列标题。

将下面的var3替换为Thor变量的名称,或使用data[,3]而不是data$var3

您应该阅读Hadley Wickham的Advanced R book的子集章节,可在此处找到:

您也可以像这样使用split:

这将为您提供一个数据帧列表

data0 <- data[data$var3 == 0, ]
data1 <- data[data$var3 == 1, ]
split(x = iris, f = iris$Species)