浏览文件内容

添加 'chap3/data.md'

hungerzs 6 年之前
父节点
当前提交
a4912cf8d0
共有 1 个文件被更改: 56 次插入, 0 次删除
  1. 56 0
      chap3/data.md

+ 56 - 0
chap3/data.md

@@ -0,0 +1,56 @@
+### R数据保存和加载
+
+R有内置的数据格式,能够适应R的数据类型,是经过优化的存储方式,便于R快速方便的存储.
+
+R保存的数据格式有'.RData','.rda','.rds'等,相应的命令为save,save.image,data, writeRDS,loadRDS,其中save用于保存对象到文件中,save.image用于保存当前工作区的镜像,当前工作区包含加载的数据,函数等.data用来加载数据集,writeRDS把对象写入.rds文件,loadRDS执行相反的操作,把.rds文件中的对象加载到R工作空间.  
+注意:以下命令的参数在"="之前的为参数名称,该参数叫做命名参数,命名参数不是通过参数位置和顺序来识别的,"="之后的为该参数的默认值,即如果不输入该参数,函数将默认使用这个值.
+
+#### save 保存对象到文件
+
+格式:save(..., list=character(),
+      file = stop("'file' must be specified"), #file参数用于指定保存的目标文件,是必须的,如果没有将显示警告,并停止执行
+      ascii = FALSE, version = NULL,
+      envir = parent.frame(),
+      compress = isTRUE(!ascii),
+      compression_level,
+      eval.promises = TRUE,
+      precheck = TRUE)
+      
+ 其中...参数代表任意多个参数,可以同时保存多个对象,没有个数限制.这里要传入的是对象的名称,可以使符号,也可以是字符串表,用','(英文逗号)隔开.  
+ list 是包含对象名称的字符向量,功能与...参数相同.  
+ file 要保存到的目标文件名或路径  
+ 
+ 举例: save(x, y, z, file='xyz.RData')
+ 把对象x,y,z保存到当前文件夹的xyz.RData文件中去.  
+ 
+ #### save.image()
+ 
+ 保存当前环境中的所有对象到文件.RData中,相当于save(list=ls(all.names=TRUE), file='.RData", envir=.GlobalEnv)  
+ .RData文件是在启动R时默认加载到工作区的数据,在选项--restore的情况下.当退出R环境时,RStudio会询问是否保存当前工作区,如果回答"yes",则RStudio在退出之前会将当前工作区的所有对象和函数保存到.RData文件中,下次启动时会自动加载这些数据.建议您使用这个功能,让您在下次工作时能够回到退出之前的环境.
+ 
+ #### data
+ 
+ data函数用于加载指定的数据集或者列出可用的数据集,没有参数时列出所有可用的数据集.  
+ 格式: data(..., list = character(),
+          package = NULL,
+          lib.loc = NULL,
+          verbose = getOption("verbose")
+          envir = .GlobalEnv)
+          
+ 参数:package: 指定要加载的数据所在的R包.  
+     lib.loc: 包所在的地址,如果不指定则先搜索当前加载的包,然后搜索当前工作区中的data文件夹,从中加载数据文件.  
+     verbose: 是否显示详细信息  
+     envir: 要加在到哪个工作环境
+ 
+ data函数支持四种类型的数据文件:
+* '.R','.r':在脚本中的数据,使用source()函数加载
+* '.Rdata', '.rda': 使用load()函数加载  
+* '.tab', '.txt', '.TXT': 文本格式文件,使用read.table(..., Header=T)加载,注意其中的'Header=T'参数,如果没有字段名,会把第一条记录当作字段名
+* '.csv', '.CSV': 使用read.table(..., header=T, sep=',')加载,注意同上
+
+#### load
+
+#### loadRDS
+
+
+#### writeRDS