我想根据许多ID拆分数据

时间:2015-01-04 09:47:11

标签: r split

这是原始数据。

str(demo$ID)
chr [1:5000] "Q05910452" "Q00509389" "Q59112261" "Q38120745" ...

str(ID.unique)
chr [1:4785, 1] "Q00027726" "Q00071545" "Q00073883" "Q00077269" ...

我想要做的是制作两个数据集,其中一个数据集具有来自demo $ ID的4785个ID,与ID.unique完全相同。

我要制作的其他数据包包含ID.unique中未包含的其他ID(215 ID = 5000 - 4785)。

我该怎么做?请大家帮忙。非常感谢你。

1 个答案:

答案 0 :(得分:2)

你可以尝试

indx <- demo$ID %in% ID.unique
lst <- split(demo, indx+1) #returns a list with two elements

数据

ID.unique <- paste0('Q000', 1:5000)
set.seed(24)
demo <- data.frame(ID=sample(c(ID.unique, paste0('Q000', 5001:6000)),
              5000,replace=FALSE), Col2=rnorm(5000))