R语言-数据整形之导入导出

R语言数据导入和导出

前言

  福尔·摩斯曾说过:“数据,数据,没有数据的推理是罪恶!”不过比起有意思的统计分析,数据的导入与导出显得十分的无趣,但是不得不说统计分析的数据导入与导出是个让人沮丧的任务,而且耗时巨大。今天分享的是R中数据的输出与一些特定格式的数据读入。

目录

 1. 载入特定的数据集

 2. 载入某个包中的数据集

 3. 文件目录操作

 4. 自定义路径和名称

 5. 剪切板方式数据导入

 6. 常用的读取指令read

 7. 通过setwd定义路径

 8. 读入R格式的文件

 9. 逐行读取数据

 10. 数据导出

 11. 输入输出函数小结

1. 载入特定的数据集

    # 查看数据集列表
    data()  
    
    # 载入CO2数据集(来自datasets)
    data(CO2)  
    

2. 载入某个包中的数据集

    # 载入package MASS
    library(MASS)   
    
    # 查看MASS中数据集
    data(package="MASS")   
    
    # 载入MASS中的SP500数据集,也可简化为data(SP500)
    data(SP500,package="MASS")  

3. 文件目录操作

    # 返回当前工作目录(一般为默认情况)
    getwd()            
    
    # 也可以写成setwd("d:\\rdata")
    setwd("d:/rdata")  
    
    getwd()

4. 自定义路径和名称

    # -------------------------
    oPath <- "C:/Users/abdata/Desktop/"
    oName <- "data.txt"  ### data.csv
    oPathFile <- paste(oPath,oName,sep="",collapse="")
    # -------------------------
    oPath <- "C:/Users/abdata/Desktop/"
    oName <- "csjwdfw"  ### data.csv
    oType <- "csv"
    oPathFile <- paste(oPath,oName,'.',oType,sep="",collapse="")
    # -------------------------

5. 剪切板方式数据导入

    # 先将数据复制到剪切板,然后将数据读入到R中
    # clipboard即剪切板
    data <- read.delim("clipboard") 
    # 或
    data <- read.table("clipboard", header=T)

6. 常用的读取指令read

    # 常用的读取指令read
    data <- read.table(oPathFile, header=T) 
    data
    data <- read.csv(oPathFile, header=T)
    data

7. 通过setwd定义路径

    # 通过setwd定义路径
    setwd("d:/rdata")
    data <- read.table("salary.txt",header=T)
    data
    data <- read.csv("salary.csv",header=T)
    data
    # 由于不存在header参数,skip=1说明读取时跳过表示名称的第一行
    data <- scan("salary.txt",skip=1,what=list(City="",Work=0,Price=0,Salary=0))  
    data

8. 读入R格式的文件

    # R的数据或更一般的对象(如向量、矩阵、数据框、列表甚至函数等)可以通过save()保存为R专有的文件格式,以Rdata为后缀。要读取这类文件,需要用到函数load()来加载!!!
    # load("d:/rdata/salary.Rdata")
    setwd("d:/rdata")
    load("salary.Rdata")
    head(data,5)

9. 逐行读取数据

    # 逐行读取数据
    con <- file(oPathFile,"r")  
    f1 = readLines(con, n=1, encoding='UTF-8')   # 读文件一行
    while(length(f1)!=0){
      f1=readLines(con, n=1, encoding='UTF-8')   # 读一行
    }
    close(con)

10. 数据导出

  前面介绍数据的导入,这对数据分析固然十分重要,但分析的一些中间过程或结果会产生新的数据集,我们也需要保存起来。根据需要,R中的数据也可以保存为不同格式的文件。

  • 使用函数cat()

      # 在屏幕上输出
      cat(c("AB", "C"), c("E", "F"), "n", sep="")  
      i <- 1:5
      # 以逗号为分隔符
      cat("i = ", i, "n",sep=",")  
  • 向指定文件写入数据

      #--------------------
      cat(c("AB", "C"), c("E", "F"),file="d:/data/cat.txt",sep=".")  
      #--------------------
      i = 1:5
      # cat(i,file="d:/data/cat.txt",append=TRUE)
      cat(i,file=oPathFile,append=TRUE)
      #--------------------
      # 分隔符sep="\n"表示换行
      # a=file("d:/data/cat.txt")
      a = file(oPathFile)
      cat("1 2 3 4 ","2 3 5 7","11 13 15 17", file=a, sep="\n")  
      read.table(a)
      #--------------------
  • 保存为文本文件(write.table)

      # write.csv(data,file="d:/data/salary1.csv",row.names=F,quote=F)
      write.csv(data,file=oPathFile,row.names=F,quote=F)
      write.table(data,file=oPathFile,row.names=F,quote=F)
  • 保存R格式文件

      save(data,file="d:/data/salary1.Rdata")  
      load("d:/data/salary.Rdata")
  • 保存为其他类型文件

      # 保存为sav文件格式
      library(foreign)
      write.foreign(data,datafile="d:/data/salary.sav",codefile="d:/data/code.txt",package="SPSS")  

11. 输入输出函数小结

方法名称解释
library加载包
data加载制定数据集
load加载save或者save.image保存的数据
read.table读取表格
read.fwf以fixed_width_formatted形式读取数据至表格
save二进制保存指定对象
save.image二进制保存当前线程内所有对象
write.table将数据以表格形式写入文本
write.csv将数据以CSV表格形式写入文本
cat强制转化为字符后输出
sink输出转向到指定文件
print输出屏幕
format格式化
read.delim读取以tab分割个表格
read.csv读取以逗号分割的表格

转载于:https://www.cnblogs.com/cloudtj/articles/5609982.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值