我有一个数据框m
,我想删除f_name
列的条目大于3的所有行。我假设我可以使用类似的内容
m <- m[-grep("nchar(m$f_name)>3", m$f_name]
答案 0 :(得分:11)
要稍微改写您的问题,您希望保留f_name中的条目长度为3或更短的行。那怎么样:
subset(m, nchar(as.character(f_name)) <= 3)
答案 1 :(得分:3)
试试这个:
m[!nchar(as.character(m$f_name)) > 3, ]
答案 2 :(得分:1)
强制性的data.table
解决方案:
setDT(m)
m[ nchar(f_name) <= 3 ]
答案 3 :(得分:0)
对于那些希望使用整洁方法的人,可以使用dplyr::filter
:
m %>% dplyr::filter(nchar(f_name) > 3)