相关疑难解决方法(0)

将列表元素作为独立对象返回到全局环境中

我有一个列表,并希望将列表的元素分解为全局环境中的单独对象.

例如,我想要列表:

obj <- list(a=1:5, b=2:10, c=-5:5)
Run Code Online (Sandbox Code Playgroud)

是三个单独的对象a,bc.

我尝试用以下方法实现这一点:

lapply(obj, FUN = function(x) names(x)[1] <<- x[1])
Run Code Online (Sandbox Code Playgroud)

但它失败了Error in names(x)[1] <<- x[1] : object 'x' not found.

我怎样才能实现目标?

r environments

31
推荐指数
2
解决办法
3883
查看次数

更改默认环境以分配新变量

我经常想在全局环境下的环境中创建许多变量.这可以通过envir参数轻松完成sys.source- 如果由文件创建的所有变量都应该进入单个环境.

但我通常使用一个创建变量集的文件.一组应该进入一个环境,另一组进入另一个环境,依此类推.我不想将此文件拆分为多个文件,然后进行多次调用sys.source.

相反,我想要一个命令,让我更改默认环境以分配新变量.例如:

e <- new.env()
setDefaultEnvironment(e)
tmp <- 2
e$tmp           #  2 
.GlobalEnv$tmp  #  Error: object 'tmp' not found
Run Code Online (Sandbox Code Playgroud)

但这setDefaultEnvironment不是一个真正的命令.

在R中有没有安全的方法来做这种事情?

r

10
推荐指数
3
解决办法
4835
查看次数

在单个 RDS 文件中保存多个变量

我想将变量列表传递给 saveRDS() 以保存它们的值,但它保存了它们的名称:

variables <- c("A", "B", "C")
saveRDS(variables, "file.R")
Run Code Online (Sandbox Code Playgroud)

它保存了单个向量“变量”。

我也试过:

save(variables, "file.RData")
Run Code Online (Sandbox Code Playgroud)

没有成功

r datastore save

4
推荐指数
1
解决办法
2658
查看次数

标签 统计

r ×3

datastore ×1

environments ×1

save ×1