最近项目中运用到了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文件
读取xls和xlsx有很多方法,但是这里面的很多方法也不是特别好用,例如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 博客 ,全文地址请点击:/tb3039450/article/details/52557200?utm_source=copy
Java读取excel 支持xls 和 xlsx格式
1.工具类public class InExcelTool { //根据指定位置单独读取一个 public static String getContent(String file, int page ...
R语言学习-基础篇1
###第一周:R基础 rm(list = ls()) #ctr+L###矩阵相乘,函数diag()a=matrix(1:12,nrow=3,ncol=4)b=matrix(1:12,nrow=4,n ...
R语言学习笔记:小试R环境
买了三本R语言的书,同时使用来学习R语言,粗略翻下来感觉第一本最好: The Art of R Programming A Beginne ...
R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
R语言学习 第十篇:操作符
运算符是R语言中最基础的存在,熟悉运算符的使用,是熟练使用R处理数据的基础,操作符,顾名思义,是对数据进行运算的符号,R有自己的一套操作符,实现变量的赋值,引用,运算等功能. 一,赋值符号 为变量赋值 ...
ABAP upload file(*.txt *.csv *.xls)
转自:/jy00873757/article/details/8534492 在SAP我们经常会用到*.txt, *.csv, *.xls三种文件格式 *.TX ...
asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台