R中的转租错误,忽略空白值

R中的转租错误,忽略空白值,r,validation,dataframe,R,Validation,Dataframe,我有一个巨大的df,其中一列包含类别“Valid”、“in Valid”和空白值。当我为NOT In Valid(它应该是Valid+Blank)创建子集时,我得到的只是Valid,而Blank则被遗漏。下面是一个数据的模拟,对于这些数据,子集设置工作得很好。但就我的实际数据而言,它不起作用 (无效应为有效+空白,但R忽略空白值) R 3.3.2,所有字段都不是因子 a = LETTERS[1:10] b = sample(c(T,F) , 10, T) c = sample(c("Valid"

我有一个巨大的df,其中一列包含类别“Valid”、“in Valid”和空白值。当我为NOT In Valid(它应该是Valid+Blank)创建子集时,我得到的只是Valid,而Blank则被遗漏。下面是一个数据的模拟,对于这些数据,子集设置工作得很好。但就我的实际数据而言,它不起作用

(无效应为有效+空白,但R忽略空白值) R 3.3.2,所有字段都不是因子

a = LETTERS[1:10]
b = sample(c(T,F) , 10, T)
c = sample(c("Valid", "In-Valid", ""),10,T)
x = as.data.frame(cbind(a,b,c))
subset(x,x$c !="In-Valid") # here i get the valid answer but not to my actual df

请检查
str(您的数据集)
,并检查是否有任何
前导/后导
空格。我认为
子集(x,trimws(c)!=“In Valid”)
可以正常工作。感兴趣的列的结构是chr(不是一个因素)。没有要修剪的空白。然后,检查NA元素。在这种情况下,
子集(x,c!=“In_Valid”&!is.na(c))
。如果你能展示一个模仿问题的小的可重复的例子,它将更容易解决。使用
dput(droplevels(head(yourdata)))
假设它存在您提到的问题