我有一个包含业务客户信息的数据框,包含12个变量和1,246行。 CustomerID列中包含错误。每个客户ID应该有7个字符(例如,VALLE03),但有些显示为“GTO1”或“003” - 需要删除出现这些错误的整行。
我在想如果我可以按照“CustomerID”中的字符数对df进行排序,我可以手动删除没有7个字符的行。但我不确定如何按字符数排序,或者是否有更好的方法。
有什么想法?
提前致谢,
保罗答案 0 :(得分:2)
假设您的文件是命名数据而CustomerID是char列:
data = data[(which(nchar(data$CustomerID) == 7)),]
命令过滤给定布尔参数的行。
答案 1 :(得分:0)
nchar()
是您正在搜索的功能... Cus
nchar('VALLE03')
然后通过df[nchar(df$CustumerID) == 7, ]
对data.frame进行子集化。
答案 2 :(得分:0)
看看nchar
。假设您的data.frame是dat
,您可以这样做:
dat[nchar(dat$CustomerID)==7, ]
上面的代码将选择CustomerID
列中包含最少7个字符的所有行。