我正在设置数据向量的全局长度,后来在很多地方进入function(),所以我很烦恼在几个地方重新输入。
x[1:10]
如何设置1:10
全局,以便我可以在上面的示例中重复使用它,如下所示:
global <- 1:10
x[glboal]
我尝试使用paste()
,但无法将其转换为简单数字1:10
。请注意,我不希望x <- 1:10
看起来像[1]
1 2 3 4 5 ....
一旦出现关于这个问题的反对意见(编码方式/问题类型等),我会尽快删除这篇文章。
编辑:我认为它是:cat(paste("1:10",sep=""),collapse="")
答案 0 :(得分:1)
我不明白你要做什么。也许这个?
global <- substitute(x <- 1:10)
global
#x <- 1:10
eval(global)
x
#[1] 1 2 3 4 5 6 7 8 9 10
还是这个?
global1 <- substitute(1:10)
global1
#1:10
eval(global1)
#[1] 1 2 3 4 5 6 7 8 9 10
答案 1 :(得分:1)
你说你需要将一个全局变量传递给一个函数,所以可能是这样的吗?
> x <- quote(1:10)
> x
## 1:10
> f <- function() eval(get('x'))
> f()
## [1] 1 2 3 4 5 6 7 8 9 10