R语言学习笔记之外部文件读取

在win32位的系统下,RODBC包内的函数是可以直接运行的,但在win64位的系统则不支持!

1.读取外部文件read.table()---csv,txt,excel

最基本函数是read.table(),先介绍read.table(),然后再介绍专门用来读csv的read.csv().

Description

Reads a file in table format and creates a data frame from it, with cases corresponding to lines and variables to fields in the file.

读取一个表格形式的文件,并创建一个相应的数据框,同时可以保留相应的变量和观测.

Usage

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)

但常用的就只有几个参数,重写如下:

read.table(file, header = FALSE, sep = "", quote = "\"'", dec = ".", skip = 0, strip.white = FALSE, blank.lines.skip = TRUE, comment.char = "#")

①file表示要读取的文件。file可以是绝对路径或者相对路径,但是一定要注意,因为在R语言中\是转义符,所以路径分隔符必须写成\\,比如“C:\\myfile\\myfile.csv”.

②可以使用剪切板的内容,可以用于读取excel格式的文件,将要读取的数据进行复制,然后在R中输入data=read.table("clipboard",T)即可.

③使用file.choose(),弹出对话框,让你选择文件位置。强烈推荐使用此种方法,免去了记忆和书写文件路径的麻烦,特别是能够避免因数据文件位置移动带来的错误!

例如:read.table(file.choose(),...).

④sep指定分隔符,默认是空格,若读取csv文件,则必须设置成逗号,才能以逗号为分割形成数据框!quote是引号,默认就是双引号。dec是小数点的表示,默认就是一个点。skip是确定是否跳过某些行。strip.white确定是否消除空白字符。blank.lines.skip确定是否跳过空白行。comment.char指定用于表示注释的引导符号。

⑤header来确定数据文件中第一行是不是标题。默认F,即认为数据文件没有标题,也即认为第一行就开始是数据了!

2.读取外部文件read.csv()---csv

和read.table有所不同的,是read.csv的默认参数有别。注意看,header和sep的默认值。

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

因为csv就是逗号分割的意思,当然sep必须是逗号。header也是默认有标题的。fill是默认填充的,即遇到行不相等的情况,空白域自动添加既定值。

如果使用默认的设置,可以写出:mydata2<-read.csv(file.choose()),十分简单。

对于读取剪切板的方式,不推荐使用。我们之所以使用读取文件,就是增加程序的可复用性,而读剪切板显然是破坏了这种初衷的。因此,不到万不得已,尽量使用文件路径或者文件选择的形式。