我对R来说相当陌生,并且我已经超越了使用for循环。
我尝试使用以下代码完成的操作是一个循环,为30个列表命名变量1到400:
for(m in 1:30)
{
names(paste0("points_GW", m)) <- 1:400
}
我得到以下结果:
Error in names(paste0("points_GW", m)) <- 1:400 :
target of assignment expands to non-language object
提前致谢
答案 0 :(得分:0)
执行此操作的最佳方法通常是拥有list
个列表。然后可以使用例如访问单独的列表来访问points_GW[[1]]
。如果你有充分的理由让它们保持在全球环境中,那么另一种选择是:
for(m in 1:5)
{
names(.GlobalEnv[[paste0("points_GW", m)]]) <- 1:400
}
这是因为全局环境可以像任何其他环境一样使用,并且可以使用标准[[
运算符对环境进行索引。另一种选择是使用eval
以及parse
或substitute
。但是,我建议list
列表绝对是更传统的选项。