从数据集中删除特定行

时间:2015-07-24 22:49:01

标签: r

我有一个包含40列的数据集,每列有100.000行。因为列数很大,我想删除其中的一些。我想从10.000-20.000删除行;从30.000-40.000和60.000-70.000;因此,我得到一个包含40列70.000行的数据集。第一列是ID以1开头(称为ItemID),最后一列以100.000结尾。有人可以帮助我。

尝试将列从10000删除到20000,但它不起作用(假设数据集称为“数据”):

Data <- Data[Data$ItemID>10000 && Data$ItemID<20000]

2 个答案:

答案 0 :(得分:2)

采取严厉的方式。这样的东西适合你的需求?

dat <- data.frame(ItemID=1:100, x=rnorm(100))

# via row numbers
ind <- c(10:20,30:40,60:70)
dat <- dat[-ind,]

# via logical vector
ind <- with(dat, { (ItemID >= 10 & ItemID <= 20) |
                   (ItemID >= 30 & ItemID <= 40) |
                   (ItemID >= 60 & ItemID <= 70) })
dat2 <- dat[!ind,]

要根据数据集的大小(乘法可能),将其设置为数据集的比例,只需ind

答案 1 :(得分:1)

我认为你应该能够做到

ps -p

然后以类似的方式删除其他行。