R 如何使用paste0设置值?
我尝试使用paste0使用for循环创建一组值,但出现错误:R 如何使用paste0设置值?,r,for-loop,paste,R,For Loop,Paste,我尝试使用paste0使用for循环创建一组值,但出现错误: for(i in 1:3){ paste0('value_',i) <- paste0('test',i) } Fehler in paste0("value_", i) <- i : Ziel der Zuweisung expandiert zu keinem Sprachobjekt for(1:3中的i){ paste0('value_',i)您可以尝试创建名称列表,然后将列表的元
for(i in 1:3){
paste0('value_',i) <- paste0('test',i)
}
Fehler in paste0("value_", i) <- i :
Ziel der Zuweisung expandiert zu keinem Sprachobjekt
for(1:3中的i){
paste0('value_',i)您可以尝试创建名称列表,然后将列表的元素写入全局环境
L <- lapply( 1:3, function(x) paste0( "test", x ) )
names(L) <- paste0( "value_", 1:3 )
list2env( L, envir = .GlobalEnv )
“分配”工作:
以前有人把它发布了,但是不管怎样,谢谢。< / P>正确的方法是使用向量或列表。把变量名看作是静态的,而不是可修改的。在这种情况下,解决方案甚至不需要循环:<代码> value = PAST0(“测试”,1:3)< /代码>。这不是我所需要的,因为我想要Value1,ValueE.2等。什么工作是“赋值”的。(cp.我自己的答案)好的,那么你需要解释为什么(你认为)你需要这个。目前来看,这是一个基本的反模式:代码不应该以这种方式编写。这不是一个好的解决方案!这就是为什么另一个答案被删除的原因。为什么你认为你需要单个变量而不是向量?这里你似乎有一个,即,你正在寻找一个错误问题的解决方案,如果您提供了更多相关信息,我们可以帮助您更好地解决实际问题,而不是通过不鼓励的变通办法。如果没有详细解释为什么这通常是一个坏主意,并且没有提到更好的解决方案,请不要推荐反模式。@KonradRudolph我肯定不会给出超出需要的答案由TS进行编辑(或请求)。他在问问题,他可以自己处理答案。Kudo是为了提高反模式的旗号,但因为答案可能意味着糟糕的编程(你自己不知道这个问题的XY)至少,对那些花时间回答“按原样”问题的人一点也不友好。如果你真的想帮忙,请自己回答,或者投票结束这个问题。我在一篇评论中提供了一个答案。由于堆栈溢出是一种教育资源,我认为解释反堆栈是至关重要的-模式,而不是毫无疑问地提供它们。你的答案对OP没有帮助,这对他们是一种伤害。提供不好的答案比根本不提供更糟糕。
L <- lapply( 1:3, function(x) paste0( "test", x ) )
names(L) <- paste0( "value_", 1:3 )
list2env( L, envir = .GlobalEnv )
for(i in 1:3){
assign(paste0('value_',i),paste0('test',i))
}