我在字符类型的数据框中有一个称为Region的列。它具有以下一些我要删除的垃圾值:
“#VALUE!”,“ 10.1”,“ 10.2”,“ 138”,“ 145”,“ 161”
但是当我尝试使用子集之类的东西来删除它们时,它们不会被删除,如下所示:
subset(pro_202_data,Region != c("#VALUE!","10.1","10.2","138","145","161"))
我尝试仅使用!=
,但这也不起作用。
请帮助。
答案 0 :(得分:0)
要做这个答案,我已经用您提供的内容创建了一个数据框,并试图过滤掉前两行,您可以对整个数据框进行类似的尝试。
> pro_202_data
Region
1 #VALUE!
2 10.1
3 10.2
4 138
5 145
6 161
> subset(pro_202_data, !(Region %in% c("#VALUE!","10.1")))
Region
3 10.2
4 138
5 145
6 161
>
答案 1 :(得分:0)
您可以像这样子集:
单个向量:
x <- c("#VALUE!","10.1","10.2","138","145","161")
x[!x=="#VALUE!"]
[1] "10.1" "10.2" "138" "145" "161"
数据框:
df <- data.frame(
Region = c("#VALUE!","10.1","10.2","138","145","161"), stringsAsFactors = F
)
df[!df$Region=="#VALUE!",]
[1] "10.1" "10.2" "138" "145" "161"
请注意添加了,
,以选择数据框的所有列。