我有一个数据框 m
,我想删除所有 f_name
列中条目大于3的行。我认为我可以使用类似于以下内容的东西:
m <- m[-grep("nchar(m$f_name)>3", m$f_name]
我有一个数据框 m
,我想删除所有 f_name
列中条目大于3的行。我认为我可以使用类似于以下内容的东西:
m <- m[-grep("nchar(m$f_name)>3", m$f_name]
稍微转述一下你的问题,你想要保留那些f_name中长度小于等于3的行。那么这个怎么样:
subset(m, nchar(as.character(f_name)) <= 3)
isTRUE
中以消除 NA
。 - aL3xa对于那些寻求tidyverse方法的人,您可以使用dplyr::filter
:
m %>% dplyr::filter(nchar(f_name) > 3)
试试这个:
m[!nchar(as.character(m$f_name)) > 3, ]
data.table
解决方案:setDT(m)
m[ nchar(f_name) <= 3 ]