首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将"assign“函数生成的对象保存为循环中的.Rdata文件

如何将"assign“函数生成的对象保存为循环中的.Rdata文件
EN

Stack Overflow用户
提问于 2018-08-07 14:53:10
回答 1查看 89关注 0票数 0

如何将assign函数生成的对象保存为循环中的.RData文件?下面是一个例子。

代码语言:javascript
运行
复制
for (ii in 1:3){
QQ=matrix(runif(15),5,3)
assign(paste0("FF", ii),QQ) 
}
EN

回答 1

Stack Overflow用户

发布于 2018-08-07 15:03:11

就我个人而言,我发现.RDS文件更适合保存单个对象。例如:

代码语言:javascript
运行
复制
for (ii in 1:3) {
    QQ = matrix(runif(15), 5, 3)
    object_name <- paste0("FF", ii)
    assign(object_name, QQ)
    tmp_fle <- tempfile(pattern = object_name, fileext = ".RDS")
    print(tmp_fle)
    saveRDS(
        object = get(x = object_name),
        file = tmp_fle
    )
}

给定结果:

代码语言:javascript
运行
复制
# [1] "/var/folders/7x/kwc1y_l96t55_rwlv35mg8xh0000gn/T//Rtmpsj0j8h/FF1afe6b0a300.RDS"
# [1] "/var/folders/7x/kwc1y_l96t55_rwlv35mg8xh0000gn/T//Rtmpsj0j8h/FF2afe369d586e.RDS"
# [1] "/var/folders/7x/kwc1y_l96t55_rwlv35mg8xh0000gn/T//Rtmpsj0j8h/FF3afe1418b9c5.RDS"

要访问第二个保存的对象,请执行以下操作:

代码语言:javascript
运行
复制
>> readRDS("/var/folders/7x/kwc1y_l96t55_rwlv35mg8xh0000gn/T//Rtmpsj0j8h/FF2afe369d586e.RDS")
           [,1]      [,2]      [,3]
[1,] 0.38537636 0.2969078 0.9603315
[2,] 0.08339023 0.9127538 0.6552166
[3,] 0.55220069 0.4384881 0.5345182
[4,] 0.10179912 0.6353755 0.8247961
[5,] 0.63983736 0.8858784 0.8904668
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51720571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档