zoukankan      html  css  js  c++  java
  • R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的、经过验证的方法总结了一下,有效避免下次入坑。

    1. R读取txt文件

    使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加载额外的包。

    read.table("/home/slave/test.txt",header=T,na.strings = c("NA"))
    • 1

    注意,此处的na.strings = c("NA") 的意思是文件中的缺失数据都是用NA进行表示;在读取文本文件时,默认的分割符号为空格。具体的参数设置可参照如下:

     read.table(file, header = FALSE, sep = "", quote = ""'",
               dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
               row.names, col.names, as.is = !stringsAsFactors,
               na.strings = "NA", colClasses = NA, nrows = -1,
               skip = 0, check.names = TRUE, fill = !blank.lines.skip,
               strip.white = FALSE, blank.lines.skip = TRUE,
               comment.char = "#",
               allowEscapes = FALSE, flush = FALSE,
               stringsAsFactors = default.stringsAsFactors(),
               fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)

    参数注释

    2. R读取csv文件

    使用R读取csv文件和读取txt文件很类似,使用的是read.csv()方法,两者参数的使用大部分是一样的。

    read.csv("/home/slave/test.csv", header=T, na.strings=c("NA"))

    在读取csv文件时,分割符为“,”(这句基本是废话,大家懂得);具体的参数设置可参考如下:

    read.csv(file, header = TRUE, sep = ",", quote = """,
             dec = ".", fill = TRUE, comment.char = "", ...)

    3. R读取xls和xlsx文件

    读取xlsxlsx有很多方法,但是这里面的很多方法也不是特别好用,例如RODBC包中的读取xls方法就不太好用,有时还会出现各种各样的问题。在进行了一番入坑探索之后,找到了两个相对好用的读取xls文件的包,下面我将分别进行说明。

    • gdata
    install.packages("gdata")
    library(gdata)
    read.xls("/home/slave/test.xls",sheet=1,na.strings=c("NA","#DIV/0!"))

    其中sheet=1 参数的意思是读取第一个sheet中的内容;na.strings=c("NA","#DIV/0!")"NA""#DIV/0!" 都作为缺失数据表示,read.xls()方法的具体参数设置可参考如下:

    read.xls(xls, sheet=1, verbose=FALSE, pattern, na.strings=c("NA","#DIV/0!"),
             ..., method=c("csv","tsv","tab"), perl="perl")

    xls参数

    read.xls()方法只是gdata包中的一个方法,gdata包中还有一些有用的方法,例如xls转csv,xls转txt等,在这里进行一些列举:

    xls2csv(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
    xls2tab(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
    xls2tsv(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ..., perl="perl")
    xls2sep(xls, sheet=1, verbose=FALSE, blank.lines.skip=TRUE, ...,
            method=c("csv","tsv","tab"), perl="perl")

    gdata包有着很多的功能,但是它对其他的包的依赖很多,可能会出现各种不可预知的问题,下面介绍一个较少依赖的包。

    • readxl
    install.packages("readxl")
    library(readxl)
    read_excel("/home/slave/test.xls",sheet=1,na="NA")

    这块需要注意的一点是na="NA" 和其他读取时的格式略有不同,下面列出了具体的参数设置:

    read_excel(path, sheet = 1, col_names = TRUE, col_types = NULL, na = "", skip = 0)

    readxl参数

    注意:以上的两个方法都可以对xls和xlsx进行读取。

    至此,已将我们在R中常用到的读取文件数据方法以及介绍完毕,下面就让我们一起动手实验吧。^_^

    参考:

    --------------------- 本文来自 华仔的逆袭 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/tb3039450/article/details/52557200?utm_source=copy 

  • 相关阅读:
    ehcache memcache redis 三大缓存男高音
    tomcat启用压缩的方式
    Linux rpm 命令参数使用详解[介绍和应用]
    rpm常用命令及rpm参数介绍
    RPM 命令大全
    BZOJ2298: [HAOI2011]problem a(带权区间覆盖DP)
    BZOJ2037: [Sdoi2008]Sue的小球(区间DP)
    HDU3507 Print Article(斜率优化DP)
    线性代数学习笔记(几何版)
    HDU 2065 "红色病毒"问题(生成函数)
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/13270871.html
Copyright © 2011-2022 走看看