R:不推荐使用2之前的保存版本

Pol*_*tah 9 load r list save

有些时候我使用save函数将一些列表变量保存为文件

> str(ttr.varSD)
List of 4
 $ classifierLimits: Named num [1:5] 2 13 5 24 16
  ..- attr(*, "names")= chr [1:5] "sdClose-VS" "sdDiff-VS"...
 $ trainClassLabels: num [1:497] 4 2 3 4 2 3 2 4 1 4 ...
 $ testClassLabels : num [1:497] 4 2 2 4 4 4 4 4 4 4 ...
>
> save(ttr.varSD, file='ttr.varSD.RDS')
Run Code Online (Sandbox Code Playgroud)

现在我想使用load(file='ttr.varSD.RDS')函数检索它们但它返回此错误.

>load(file='ttr.varSD.RDS')

  Error: bad restore file magic number (file may be corrupted) -- no data loaded
  In addition: Warning message:
  file ‘ttr.varSD.RDS’ has magic number 'X'
   Use of save versions prior to 2 is deprecated 
Run Code Online (Sandbox Code Playgroud)

这个问题建议使用read.table函数,但我的数据不是表格.但是我以任何方式测试了它并返回了这显然不是我的完整数据:

> read.table('ttr.varSD.RDS')
          V1
1          X
2 sdClose-VS
3 sdClose-US
Warning messages:
1: In read.table("objects/ttr.varSD.RDS") :
  line 2 appears to contain embedded nulls
2: In read.table("objects/ttr.varSD.RDS") :
  line 3 appears to contain embedded nulls
3: In read.table("objects/ttr.varSD.RDS") :
  line 4 appears to contain embedded nulls
4: In read.table("objects/ttr.varSD.RDS") :
  incomplete final line found by readTableHeader on 'ttr.varSD.RDS'
Run Code Online (Sandbox Code Playgroud)

有没有机会检索这些文件或所有文件都已损坏.要知道我的工作环境,因为它可能很重要,我在Windows 7上使用R版本3.1.1(2014-07-10)与RStudio,同步我的所有工作与谷歌驱动器并具有git版本控制.

小智 8

您可以使用函数readRDS来还原存储在.RDS文件中的对象.在你的情况下:

readRDS('ttr.varSD.RDS')
Run Code Online (Sandbox Code Playgroud)