【发布时间】:2016-04-08 07:33:10
【问题描述】:
我正在使用 R 进行编程以处理 Csv 和数据操作,如果我的 csv 中的字符串匹配,我会尝试插入空值。
我的CSV如下:
first_name last _name zip_code
Ben Smith 12345
Blank Johnson 23456
Carrie No 34567
我想通过我的 csv 查看的 bad_names 列表是 bad_names
一旦我遍历我的 csv 寻找 bad_name 字符串匹配,我希望输出是
first_name last _name zip_code
Ben Smith 12345
Johnson 23456
Carrie 34567
所以它不会删除整行,而只会删除匹配的行。我正在努力只删除条目,而不是整行,并遍历整个 bad_names 列表。
感谢您提供的任何帮助!
【问题讨论】:
-
尝试:df$first_name[df$first_name %in% bad_names]
-
如果您有区分大小写的问题,您可能需要在 first_name 列上使用 'tolower()'。
-
其实,如果你有因素,上面提供的方法是行不通的。更不用说这仅适用于一列。也许添加一个
dput -
使用
NA可能比使用空字符串更有意义,并且可能在read.csv()中使用stringsAsFactors = FALSE。
标签: r loops csv data-manipulation