R - 按列值列表删除数据框中的行

时间:2018-02-28 14:25:54

标签: r dataframe

我有两个data frames,一个包含predictors,另一个包含我想要预测的不同categories。两个数据框都包含名为geoid的列。我的预测变量的某些行包含NA个值,我需要删除它们。 在提取包含geoid值的行的NA值并将其从predictors data frame中移除后,我需要从categories {中删除相应的行{1}}也是。 这似乎是一个相当基本的操作,但代码不起作用。

data frame

categories <- as.data.frame(read.csv("files/cat_df.csv")) predictors <- as.data.frame(read.csv("files/radius_100.csv")) NA_rows <- predictors[!complete.cases(predictors),] geoids <- NA_rows['geoid'] clean_categories <- categories[!(categories$geoid %in% geoids),] 中的所有行都没有删除。

典型的大地水准面值为categories/clean_categoriesUS06140231会返回typeof(categories$geoid)

1 个答案:

答案 0 :(得分:1)

我不能说这就是它,但一个非常基本的错字不会做你想做的事情,试试这个更正

clean_categories <- categories[!(categories$geoid %in% geoids),]

几乎可以肯定,这就是你想要在那条线上发生的事情。您想要否定%in%运算符的结果。你没有包含一个可重复的例子,所以我不能说出整件事是否会按照你的意愿行事。