提取R中字符向量中的所有最大长度值

时间:2014-09-23 17:16:23

标签: r string select max

我已经创建了一个函数,它基本上输出多个长度字符串,例如,

"110110" "110"    "101"    "011" 

现在,我在变量a,

中分配了函数的输出
a<- c("110110", "110",   "101",    "011")

a的类出来是个性。现在,我只想要那些具有最大长度的字符串。例如,在此示例中,最大长度为&#34; 110110&#34; 。所以,我想要那个。我尝试使用max命令,但如果有多个,则只返回一个最大长度字符串。例如,在这些字符串中,

a <- c("110", "101", "abc", "cab")

使用max命令仅返回&#34; cab&#34;。但是,我想要所有最大长度的字符串。我该怎么办?

1 个答案:

答案 0 :(得分:10)

测量&#34;长度&#34;您必须使用nchar之类的字符串。如果您希望所有具有最大字符数的元素都可以使用nchar(a)==max(nchar(a))进行过滤。以下代码应该执行您要执行的操作:

a <- c("110", "101", "abc", "cab")

a[nchar(a)==max(nchar(a))]
[1] "110" "101" "abc" "cab"