删除少于7个字符的行

时间:2014-05-05 20:32:39

标签: r

我有一个包含业务客户信息的数据框,包含12个变量和1,246行。 CustomerID列中包含错误。每个客户ID应该有7个字符(例如,VALLE03),但有些显示为“GTO1”或“003” - 需要删除出现这些错误的整行。

我在想如果我可以按照“CustomerID”中的字符数对df进行排序,我可以手动删除没有7个字符的行。但我不确定如何按字符数排序,或者是否有更好的方法。

有什么想法?

提前致谢,

保罗

3 个答案:

答案 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个字符的所有行。