Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.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-如何将字符串转换为变量名_R_Variables_Assign - Fatal编程技术网

R-如何将字符串转换为变量名

R-如何将字符串转换为变量名,r,variables,assign,R,Variables,Assign,我使用“分配”创建了许多变量,并为它们分配了值: N <- 10 for(i in 1:N) { #create variable names n1, ..., n'N' assign(paste0("name",i), data.frame(matrix(1:100, ncol=3, nrow=100))) } 我现在需要能够访问这些变量名,但不给它们赋值;我只需要在这个应用程序中更改它们的列标题。以下代码不起作用,但类似于以下代码: for(i in 1:N) {

我使用“分配”创建了许多变量,并为它们分配了值:

N <- 10
for(i in 1:N)
{
    #create variable names n1, ..., n'N'
    assign(paste0("name",i), data.frame(matrix(1:100, ncol=3, nrow=100)))
}
我现在需要能够访问这些变量名,但不给它们赋值;我只需要在这个应用程序中更改它们的列标题。以下代码不起作用,但类似于以下代码:

for(i in 1:N)
{
    #create proper column headers
    colnames(assign(paste0("name",i), ???) <- c("a","b","c")
}
我想知道该用什么来代替???或者学习一种不同的方法


还有其他一些应用程序也不需要为变量赋值。

您可以执行类似MyNames的操作一旦有了名为foo的变量,只需执行ColNamesFoo,但如何在循环设置中编写像我这样的“foo”?我的意思是‘foo1’、‘foo2’、‘foo3’等等。我必须以某种方式在‘foo’后面加上数字。这就是问题所在。如果我只是执行“粘贴0foo,I”,那么这是一个字符串而不是变量名。您可以使用get“foo1”。然而,更具R-ish风格的方法是使用命名列表,而不是赋值:for。。。{yourlist[[i]]相关:
`my.list`<-list()
for (i in 1:N) {
       my.list[[i]]<-data.frame(matrix(1:100, ncol=3, nrow=100))
       names(my.list)[i]<-paste('name',i)
}