首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:在字符串中调用对象

R:在字符串中调用对象
EN

Stack Overflow用户
提问于 2016-02-17 06:19:28
回答 1查看 51关注 0票数 2
代码语言:javascript
运行
复制
> foo <- as.character(c(0, 2))
> foo
[1] "0" "2"
> foo[1]
[1] "0"
> foo[2]
[1] "2"

> as.character("0-2")
[1] "0-2"  #this is the output I want from the command below:

> as.character("foo[1]-foo[2]")
[1] "foo[1]-foo[2]"  # ... was hoping to get "0-2"

我尝试了一些eval(parse())的变体,但同样的问题。我也尝试了以下简单的例子:

代码语言:javascript
运行
复制
> as.character("as.name(foo[1])")
[1] "as.name(foo[1])"
> as.character(as.name("foo[1]"))
[1] "foo[1]"

是否有可能获得像as.character("foo[1]-foo[2]")这样简单的东西来显示"0-2"

更新

类似的示例(字符串要长得多):

代码语言:javascript
运行
复制
> lol <- as.character(seq(0, 20, 2))
> lol
 [1] "0"  "2"  "4"  "6"  "8"  "10" "12" "14" "16" "18" "20"

 > c(as.character("0-2"), as.character("2-4"), as.character("4-6"), as.character("6-8"), as.character("8-10"), as.character("10-12"), as.character("12-14"),as.character("14-16"),as.character("16-18"),as.character("18-20"))
 [1] "0-2"   "2-4"   "4-6"   "6-8"   "8-10"  "10-12" "12-14" "14-16" "16-18" "18-20"

我希望能够从字符串中实际调用对象lol

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-17 06:20:01

我们可以将pastecollapse参数一起使用

代码语言:javascript
运行
复制
paste(foo, collapse='-')
#[1] "0-2"

如果我们需要将相邻的元素放在一起,删除'lol‘的第一个和最后一个元素,然后与paste参数一起paste它。

代码语言:javascript
运行
复制
paste(lol[-length(lol)], lol[-1], sep='-')
#[1] "0-2"   "2-4"   "4-6"   "6-8"   "8-10"  "10-12" "12-14" "14-16" "16-18"
#[10] "18-20"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35449280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档