关于在R中保存由var对象命名的数据
About save the data named by the object of a var in R
我只想用一个变量的对象作为对象名来保存。例如:
y <- matrix(1:30,nrow=5)
name <- "CHLYT"
save(assign(name,y), file="J:/毕业设计/newdata/test.RData")
我想用名称 "CHLYT" 保存变量 "y",使用存储在变量 "name" 中的名称。我不想使用 save(CHLYT,file="")
。当我打开文件 "test.RData" 时,我希望在我的环境中看到一个变量 "CHLYT"。
您可以使用环境来执行此操作。 (你也可以只在全球环境中这样做,但我认为这样更干净。)
e <- new.env() # create new environment
assign(name, y, envir = e) # assign into that environment
save(list=name, envir = e, file="test.RData") # save from environment
rm(list=ls(all=TRUE)) # remove everything (for demonstration)
ls()
# character(0)
load("test.RData") # reload
ls()
# [1] "CHLYT"
CHLYT
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] 1 6 11 16 21 26
# [2,] 2 7 12 17 22 27
# [3,] 3 8 13 18 23 28
# [4,] 4 9 14 19 24 29
# [5,] 5 10 15 20 25 30
请注意 save()
的 list
和 envir
参数的使用。 list
将对象名称的向量作为字符串;这允许您在 save
中使用 name
变量。 envir
参数告诉 save
在哪里寻找命名对象......在这种情况下,在我们新的 e
环境中。
当 load
ing 时,y
对象现在有了新的对象名称,并且默认加载到 .GlobalEnv 中。
我只想用一个变量的对象作为对象名来保存。例如:
y <- matrix(1:30,nrow=5)
name <- "CHLYT"
save(assign(name,y), file="J:/毕业设计/newdata/test.RData")
我想用名称 "CHLYT" 保存变量 "y",使用存储在变量 "name" 中的名称。我不想使用 save(CHLYT,file="")
。当我打开文件 "test.RData" 时,我希望在我的环境中看到一个变量 "CHLYT"。
您可以使用环境来执行此操作。 (你也可以只在全球环境中这样做,但我认为这样更干净。)
e <- new.env() # create new environment
assign(name, y, envir = e) # assign into that environment
save(list=name, envir = e, file="test.RData") # save from environment
rm(list=ls(all=TRUE)) # remove everything (for demonstration)
ls()
# character(0)
load("test.RData") # reload
ls()
# [1] "CHLYT"
CHLYT
# [,1] [,2] [,3] [,4] [,5] [,6]
# [1,] 1 6 11 16 21 26
# [2,] 2 7 12 17 22 27
# [3,] 3 8 13 18 23 28
# [4,] 4 9 14 19 24 29
# [5,] 5 10 15 20 25 30
请注意 save()
的 list
和 envir
参数的使用。 list
将对象名称的向量作为字符串;这允许您在 save
中使用 name
变量。 envir
参数告诉 save
在哪里寻找命名对象......在这种情况下,在我们新的 e
环境中。
当 load
ing 时,y
对象现在有了新的对象名称,并且默认加载到 .GlobalEnv 中。