簡體   English   中英

如何將“分配”功能生成的對象保存為循環中的.Rdata文件

[英]How to save an object generated by “assign” function as .Rdata file in a loop

如何在循環中將“分配”功能生成的對象另存為.RData文件? 這是一個例子。

for (ii in 1:3){
QQ=matrix(runif(15),5,3)
assign(paste0("FF", ii),QQ) 
}

就個人而言,我發現.RDS文件更適合保存單個對象。 例如:

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
    )
}

鑒於結果:

# [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"

要訪問第二個已保存的對象:

>> 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM