以下,我希望length(group.name)
返回3
。但是它只返回1
。是否有 Base R 解决方案来获取字符向量的元素数量?
group.name = c("bigii, ggigi, ciggi")
length(group.name)
#[1] 1
答案 0 :(得分:1)
一种选择是用str_count
library(stringr)
str_count(group.name, "\\w+")
#[1] 3
或将所有非定界符替换为空白,使用nchar
获得字符数,加1(因为定界符比单词数少1)
nchar(gsub("[^,]+", "", group.name)) + 1
#[1] 3
或使用regexpr
lengths(gregexpr("\\w+", group.name))
#[1] 3
它可以变成一个功能
f1 <- function(stringObj){
nchar(gsub("[^,]+", "", stringObj)) + 1
}
f1(group.name)
#[1] 3
答案 1 :(得分:0)
group.name
是一个字符串。我认为您正在计算每个用逗号分隔的单词,您可以通过在逗号上分开然后算出length
length(strsplit(group.name, ",")[[1]])
#[1] 3