我想根据多个 ID 拆分数据

I want to split the data depending on a number of IDs

这是原始数据。

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

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

我要做的是做两个数据集,其中一个有4785个来自demo$ID的ID,和ID.unique.

一模一样

我要制作的另一个数据集包含 ID.unique.

中未包含的其他 ID(215 个 ID = 5000 - 4785)

我该怎么做?请给予很大的帮助。非常感谢。

你可以试试

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))