【问题标题】:R: unable to save an element of a objectR:无法保存对象的元素
【发布时间】:2016-11-20 20:27:21
【问题描述】:

我正在尝试保存一个对象,但它失败了:

> save("MEs", "moduleColors", "net$dendrograms", file = "TNF_AH-network-auto.RData")
Error in save("MEs", "moduleColors", "net$dendrograms", file = "TNF_AH-network-auto.RData") : 
  object ‘net$dendrograms’ not found
> save(list=c("MEs", "moduleColors", "net$dendrograms"), file = "TNF_AH-network-auto.RData")
Error in save(list = c("MEs", "moduleColors", "net$dendrograms"), file = "TNF_AH-network-auto.RData") : 
  object ‘net$dendrograms’ not found
> save(list=c(MEs, moduleColors, net$dendrograms), file = "TNF_AH-network-auto.RData")
Error in FUN(X[[i]], ...) : invalid first argument
> save(MEs, moduleColors, as.vector(net$dendrograms), file = "TNF_AH-network-auto.RData") 
Error in save(MEs, moduleColors, as.vector(net$dendrograms), file = "TNF_AH-network-auto.RData") : 
  object ‘as.vector(net$dendrograms)’ not found
> save(MEs, moduleColors, list(net$dendrograms), file = "TNF_AH-network-auto.RData")
Error in save(MEs, moduleColors, list(net$dendrograms), file = "TNF_AH-network-auto.RData") : 
  object ‘list(net$dendrograms)’ not found
> head(net$dendrograms)
[[1]]

Call:
fastcluster::hclust(d = as.dist(dissTom), method = "average")
...
> ls(net)
 [1] "blockGenes"     "blocks"         "colors"         "dendrograms"   
 [5] "goodGenes"      "goodSamples"    "MEs"            "MEsOK"         
 [9] "TOMFiles"       "unmergedColors"

我可以访问它,我可以用 saveRDS 保存它:

> saveRDS(net$dendrograms, "dendro")
> 

或者我可以保存它:

> tmp <- list(net$dendrograms)
> save(MEs, moduleColors, tmp, file = "TNF_AH-network-auto.RData")
> 

为什么我不能按预期使用save(MEs, moduleColors, net$dendrograms, file = "TNF_AH-network-auto.RData") 保存对象?

会话信息:

> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.2 LTS

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=es_ES.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=es_ES.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=es_ES.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=es_ES.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] WGCNA_1.51            RSQLite_1.0.0         DBI_0.4-1            
[4] fastcluster_1.1.20    dynamicTreeCut_1.63-1

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.5           RColorBrewer_1.1-2    GenomeInfoDb_1.4.3   
 [4] plyr_1.8.4            iterators_1.0.8       tools_3.2.3          
 [7] rpart_4.1-10          preprocessCore_1.30.0 gtable_0.2.0         
[10] lattice_0.20-33       Matrix_1.2-6          foreach_1.4.3        
[13] parallel_3.2.3        gridExtra_2.2.1       cluster_2.0.4        
[16] S4Vectors_0.6.6       IRanges_2.2.9         stats4_3.2.3         
[19] grid_3.2.3            nnet_7.3-12           impute_1.42.0        
[22] Biobase_2.28.0        data.table_1.9.6      AnnotationDbi_1.30.1 
[25] survival_2.39-4       foreign_0.8-66        latticeExtra_0.6-28  
[28] Formula_1.2-1         GO.db_3.1.2           ggplot2_2.1.0        
[31] Hmisc_3.17-4          scales_0.4.0          codetools_0.2-14     
[34] matrixStats_0.50.2    splines_3.2.3         BiocGenerics_0.14.0  
[37] colorspace_1.2-6      acepack_1.3-3.3       doParallel_1.0.10    
[40] munsell_0.4.3         chron_2.3-47  

【问题讨论】:

  • 尝试保存(MEs, moduleColors, as.vector(net$dendrograms, file = "TNF_AH-network-auto.RData")
  • @CClaire 未成功完成,已编辑问题
  • 也许使用 tmp
  • @CClaire 出乎意料地工作了。我将重新表述这个问题,以了解这种行为

标签: r save


【解决方案1】:

我自己也遇到过这个问题。我不知道为什么,但来自basesave 命令只能保存“整个”对象。仅保存数据框的一列是不可能的(据我所知)。我的解决方法是:

netDendongrams <- net$dendogrames
save("MEs", "moduleColors", "netDendongrams ", file = "TNF_AH-network-auto.RData")

【讨论】:

  • 这正是@CClaire 在评论中的回答。
  • 不完全像 MarcelG 不使用列表并更好地解释了函数 save 的特殊性
  • @ChristopheD。抱歉,当我写答案时,该评论还没有(或者我没有看到)
  • 一旦我阅读了 OP 问题的标题,我意识到问题在于我保存的是一个元素,而不是整个对象。您的解决方案正是我在阅读您的解决方案时已经完成的,所以它一定很不错!
猜你喜欢
  • 2014-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多