R语言如何迅速剔除某些行?

有一个千万行的矩阵,比如 每一行都有名字,想删除某些名字的行,提取剩下的行,如何快速做到呢?谢谢!比如:行的名字为 1、2、1、3、3、4...(即行名有重复),想剔除行名为 1、2、3...的行。如何快速做到呢?我自己是将想剔除的行的名字用which函数将各个行数记下来,然后把这些所有记下来的行汇总并删除,但是剔除的行名很多,这个过程很费时间啊!有没有好方法?谢谢!

其实这样也就是两句命令,哪里算麻烦:先用which搜索所有要删除的行数,比如保存在vec里,其次matrix[-vec,]就搞定了。追问

恩,不过现在要删除的行数太多,每一次调用which,都会遍历一遍所有行,这样很费时间的,程序就在这里浪费的时间太多了。有没有好点的方法?

追答

再简单的算法,内部也是一个个试,不可能不遍历

追问

嗯,有没有好的函数或者包能简化过程呢?

追答

就两个命令,你还想怎样简化?

追问

好像有的包里面的函数可以合在一起~~直接写判定条件就可以

追答

那没见过了

温馨提示:答案为网友推荐,仅供参考
相似回答