从R中的名称列表中删除多行(要删除的187个名称列表?

问题描述 投票:0回答:1

我在R中有一个数据帧,其中包含29,000行。我只需要使用名称列表(187个名称)来删除多行。

我的数据集是关于航空公司的,因此我需要从包含200多种航空公司的数据集中删除特定航空公司。我的第一列包含所有航空公司名称,我需要删除这些特定航空公司的整行。

我选择了要通过以下代码删除的所有航空公司名称:transmute(a_name_remove, airline_name)。这给了我一个要删除的航空公司的所有名称的表,现在我必须从名为airlines的原始数据集中删除该名称列表。

我知道有一种手动执行此操作的方法,例如:mydata[-c("a", "b"), ]。但是写出每个名字会很忙。

[能否通过给我一种使用列表的方法来帮助我,该列表必须从数据集中向前删除那些行?

我无法自行写下每个名称。我还尝试了此操作:airlines[!(row.names(airlines) %in% c(remove)), ],其中将列表“删除”到数据框中并作为矢量,然后使用该代码从我的原始数据集“航空公司”中删除了它,但仍然无法正常工作。

谢谢!

r dataset filtering rows
1个回答
0
投票

例如,您可以创建一个将%in%取反的函数

'%not_in%' <- Negate('%in%')

因此,根据您的代码,它应该看起来像这样

airlines[row.names(airlines) %not_in% remove, ]

此外,我不建议使用remove作为变量名,因为它是R中的基函数,如果可能的话,请重命名该变量,例如reject_airlines,

airlines[row.names(airlines) %not_in% discard_airlines, ]
© www.soinside.com 2019 - 2024. All rights reserved.