首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在R中创建一个带有"paste“的变量名?

在R中创建一个带有"paste“的变量名?
EN

Stack Overflow用户
提问于 2011-04-01 16:40:41
回答 4查看 128.9K关注 0票数 98

如下所示:

代码语言:javascript
复制
paste("perf.a", "1", sep="")
# [1] "perf.a1"

如果我想给perf.a1赋值,该怎么办?

我尝试了as.nameas.symbol等,但都没有用:

代码语言:javascript
复制
as.name(paste("perf.a", "1", sep="")) = 5
# Error in as.name(paste("perf.a", "1", sep = "")) = 5 : 
#   target of assignment expands to non-language object
as.symbol(paste("perf.a", "1", sep="")) = 5
# Error in as.symbol(paste("perf.a", "1", sep = "")) = 5 : 
#   target of assignment expands to non-language object
noquote(paste("perf.a", "1", sep="")) = 5
# Error in noquote(paste("perf.a", "1", sep = "")) = 5 : 
#   target of assignment expands to non-language object
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-01 16:54:55

您可以使用assign (doc)来更改perf.a1的值:

代码语言:javascript
复制
> assign(paste("perf.a", "1", sep=""),5)
> perf.a1
[1] 5
票数 141
EN

Stack Overflow用户

发布于 2011-04-01 16:55:08

参见?assign

代码语言:javascript
复制
> assign(paste("tra.", 1, sep = ""), 5)
> tra.1
  [1] 5
票数 18
EN

Stack Overflow用户

发布于 2015-08-13 12:27:30

在我的例子中,函数eval()工作得非常好。下面我将生成10个变量,并为它们分配10个值。

代码语言:javascript
复制
lhs <- rnorm(10)
rhs <- paste("perf.a", 1:10, "<-", lhs, sep="")
eval(parse(text=rhs))
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5510966

复制
相关文章

相似问题

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