如何在R数据帧中基于元素长度删除字符串?
我有一个数据框df,它几乎没有列&它包含文本。如果元素长度小于4个字符,我想删除所有元素。我期望的是\u df。下面给出了可复制的示例如何在R数据帧中基于元素长度删除字符串?,r,string,dataframe,R,String,Dataframe,我有一个数据框df,它几乎没有列&它包含文本。如果元素长度小于4个字符,我想删除所有元素。我期望的是\u df。下面给出了可复制的示例 df<-data.frame(client=c("My Name is abcdff","Name is not right","Bangalore is getting hoter","BBa wasa school topper"),serial_numer=c(1:4)) expected_df<-data.frame(client=c("
df<-data.frame(client=c("My Name is abcdff","Name is not right","Bangalore is getting hoter","BBa wasa school topper"),serial_numer=c(1:4))
expected_df<-data.frame(client=c("Name abcdff","Name right","Bangalore getting hoter","wasa school topper"),serial_numer=c(1:4))
这就是我试图解决的问题
df$client<-as.character(df$client)
df$client[nchar(df$client) > 3]
我们可以拆分字符串并计算单个单词中的字符数,只选择大于等于4的字符
df$client <- sapply(strsplit(as.character(df$client), "\\s+"), function(x)
paste0(x[nchar(x) >= 4], collapse = " "))
df
# client serial_numer
#1 Name abcdff 1
#2 Name right 2
#3 Bangalore getting hoter 3
#4 wasa school topper 4
到目前为止,您尝试了什么?librarystringr df$客户端更新了到目前为止我做了什么