R语言之读取Excel及csv数据

1、读取R内置数据 data()

data()  #查看数据集列表
data(mtcars)  #载入数据集

如用library()载入程序包后,可用data(package=”“)查看包内附带的数据集。

library(vcd)
data(package="vcd")  #查看vcd包中的数据集
data(Arthritis,package = "vcd")  #载入数据集Arthritis

2、键盘输入数据

a、调用文本编辑器edit()。
首先必须创建一个空的数据框或者矩阵,且数据框或者矩阵中的变量名与变量类型必须与最终数据集一致。下列代码创建了一个名为mydata的数据框,数据框里保存了姓名,英语成绩,数学成绩三个变量,且通过调用文本编辑器edit()可修改或增加变量。

mydata<-data.frame(name=character(0),English=numeric(0),Math=numeric(0))   #创建一个空的数据框
mydata<-edit(mydata)
mydata

程序运行结果如下:
R语言之读取Excel及csv数据_第1张图片
可在此数据编辑器中直接输入数据,或者通过单击来修改变量名或者变量类型,也可以增加变量。
b、直接在程序中嵌入数据,代码如下:

> mydatatext<-"
+ name English Math
+ 张三  92      93
+ 李四  80      92
+ "
> mydata<-read.table(header=T,text=mydatatext)
> mydata
  name English Math
1 张三      92   93
2 李四      80   92

3、导入带分隔符的文本文件(ASCII)

使用read.table()导入一个带分隔符的文本文件,其输出类型为数据框。语法如下:
read.table(file , header=F , sep=”” ,quote , row.names , col.names , na.strings=”NA” , colClasses , skip , stringsAsFactors=T, blank.lines.skip=T, strip.white=F, text,…)

参数 参数的解释
file 需要读入的文件名或者路径。当需要读入的文件在R的工作目录下时,file=files.name,否则file=”文件的存储路径”,如以下代码中所示。也可以更改需读入文件的储存目录为R的工作目录,然后file=file.names即可读入文件,但此法比较繁琐,一般不推荐。
header 是否文件的读入第一行,默认值为FALSE。
sep 文件中分开数据的分隔符。默认为sep=”“,表示分隔符为一个或多个空格、换行或回车。若分隔符为逗号,则sep=”,”;若为制表符,则sep=”\t”。
quote 设置如何引用字符型变量。若没有分隔符,则quote=”\”。
row.names 用于指定行名的可选参数。
col.names 若header=F,用于指定列名的可选参数.如col.names=c(“name”,”English”)。
na.strings 用于表示缺失值的字符向量。默认为NA。即将NA判断为缺失值,也可自行定义表示缺失值的字符。
colClasses 每一列的变量类型。如colClasses=c(“numeric”,”character”)表示将第一列定义为数值型,第二列定义为字符型。
skip 读取数据前跳过的行数。
stringsAsFactors 字符向量是否需转化为因子,默认值为T,可能会被colClasses所覆盖。处理大型文本文件时,设置为F可提高处理速度。
blank.lines.skip 是否跳过空白行,默认值为T。
strip.white 是否消除空白字符,默认值为F。
text 一个指定文字进行处理的字符串。若text被设置了,则无需设置file,如以上直接在程序中嵌入数据集的代码所示。

下面使用read.table()来读取一个分隔符为逗号,名为“分数”的csv文件,代码如下:

>mydata<-read.table(header=T,file="C:\\Users\\mx\\Desktop\\分数.csv",sep=",")  #路径中的单右斜杠“\”需换成双右斜杠“\\”或者单左斜杠“/”。文件名后一定要加上扩展名
> mydata
  name English Math
1 张三      92   93
2 李四      80   92

与read.table()用法类似的函数还有read.csv(),read.delim()。
*

*4、读取Excel数据read.xlsx()

a、将其保存为csv格式,用前文所描述的方法读取
b、直接用read.xlsx()读取。读取前确保已安装“xlsxjars”,”rJava”,”xlsx”包,且第一次使用前需确保配置了Java环境。下载安装的Java的位数必须与电脑位数、R的位数一致。
语法: read.xlsx(file, n),其中n表示要读取的工作表序号。
如用read.xlsx()读取以上名为“分数”的.xlsx形式,代码如下:

> library(xlsxjars)
> library(rJava)
> library(xlsx)
> mydata<-read.xlsx("C:\\Users\\mx\\Desktop\\分数.xlsx",1,encoding="UTF-8")   #encoding="UFT-8"调整中文字集符,防止表格中的中文读取时乱码
> mydata
  name English Math
1 张三      92   93
2 李四      80   92

你可能感兴趣的:(r语言)