亲爱的
我有一个奇怪的问题。 我有一个data.table“ harvest”:
str(harvest)
Classes ‘data.table’ and 'data.frame': 30005 obs. of 19 variables:
$ Date : Date, format: "2014-07-08" ...
$ Client : Factor w/ 68 levels
etc...
现在
harvest[grepl("Belgilux",Client),]
产生258个结果
要找出我的客户的确切名称,请执行以下操作:
harvest[grepl("Belgilux",Client),unique(Client)]
[1] N.V. L'ORÉAL Belgilux S.A.
(out of 68 levels)
到目前为止很好。
但是,如果我这样做
harvest[Client=="N.V. L'ORÉAL Belgilux S.A."]
Empty data.table (0 rows) of 19 cols: Date,YearMonth,Month,Client,Project,Project.Code...
虽然我希望得到相同的258个结果
levels(harvest$Client)[levels(harvest$Client)=="N.V. L'ORÉAL Belgilux S.A."] <- "Replace Me"
也没有结果。
当我对其他任何Clientname进行相同操作时,它会返回正确数量的结果。
我尝试为您提供可重现的设置,但是没有看到该问题。
dt=data.table(Client=c("N.V. L'ORÉAL Belgilux S.A.", "Oh MyMedia","Testme","Oh MyMedia","N.V. L'ORÉAL Belgilux S.A."),Value=c(1:5))
dt$Client<-as.factor(dt$Client)
我的问题是:我的“客户”字符串中是否有一些无法打印的字符,我怎么看? 还有其他方法吗?