Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R数据帧中基于元素长度删除字符串?_R_String_Dataframe - Fatal编程技术网

如何在R数据帧中基于元素长度删除字符串?

如何在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,它几乎没有列&它包含文本。如果元素长度小于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("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$客户端更新了到目前为止我做了什么