Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用paste0设置值?_R_For Loop_Paste - Fatal编程技术网

R 如何使用paste0设置值?

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)您可以尝试创建名称列表,然后将列表的元

我尝试使用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)您可以尝试创建名称列表,然后将列表的元素写入全局环境

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))
}