最近项目中运用到了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")

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)

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

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

参考:

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

最新文章

  1. Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用(上)
  2. (原) 2.2 ZkClient使用
  3. #笔记# CSS工作流
  4. 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式
  5. 理解PHP 依赖注入|Laravel IoC容器
  6. hadoop版本号变迁
  7. 分布式EventBus的Socket实现 - 发布订阅
  8. AngularJS1.X学习笔记3-内置模板指令
  9. 一篇%3CDIV%20style%3D%22FONT-SIZE%
  10. C# 通过Bartender模板打印条码,二维码, 文字, 及操作RFID标签等。
  11. HDU 6092 Rikka with Subset
  12. 【实战分享】又拍云 OpenResty / Nginx 服务优化实践
  13. 让Less在Dreamweaver中高亮显示
  14. php header运用细节
  15. SqlServer2008第一次安装后连接问题
  16. mysql海量数据处理步骤
  17. 在C#中调用Java生成的jar包文件的方法
  18. word-wrap/word-break/white-space
  19. day 2 函数的嵌套
  20. Keywords Search---hdu2222(AC自动机 模板)

热门文章

  1. python3 win10_x64 安装pcapy
  2. C++中的接口继承和实现继承
  3. 玩转X-CTR100 l STM32F4 l CAN通信
  4. SharePoint Excel Service-PowerShell
  5. [追加评论]三款SDR平台对比:HackRF,bladeRF和USRP
  6. CentOS 6.5使用yum快速搭建LAMP环境
  7. Android的界面设计工具——DroidDraw
  8. Linux下常用的ftp操作命令
  9. liunx网络基本命令
  10. 51Nod:完美字符串