【发布时间】:2017-04-20 01:22:57
【问题描述】:
示例数据:
a <- c("cat", "dog", "mouse")
b <- c("spoon", "fork", "knife")
c <- c("auto", "boot", "bike")
生成变量:
objects <-c(a,b,c)
strings <-c("a","b","c")
给我所有字符串的长度:
> nchar(objects)
[1] 3 3 5 5 4 5 4 4 4
> nchar(strings)
[1] 1 1 1
我必须对“字符串”做什么才能得到与“对象”相同的结果?
到目前为止我得到的最接近的:
> nchar(eval(parse(text=strings)))
[1] 4 4 4
>
但剩下的在哪里?
【问题讨论】:
-
相信你想要:
nchar(unlist(lapply(strings,function(s) eval(parse(text=s))))) -
谢谢。我会在我的函数中测试你的答案,如果我得到我想要的结果,我会检查正确的答案。
-
如果你需要一个
for循环,这里有一个v1 <- vector(); for(j in strings){ v1 <- c(v1, nchar(get(j))) }> v1 -
@aichao。如果您回复我的帖子,我可以将您的评论设置为答案。
标签: r string object type-conversion