实验目的

掌握R语言中数据集的导入导出方法

实验原理

R语言中包含有许多支持数据集导入导出的相关函数,利用这些函数可以将数据集导入R的环境中并进行相关处理,并将R中的数据集导出到本地

实验步骤

R以及R的包中有许多自带的数据集,在R环境中可以通过函数data()加载这些数据集,如下面的代码可以加载R中自带的数据集iris:

> data(iris)

在R中经常导入csv格式的文件,数据输入可以使用read.csv()函数,如data<-read.csv("c:/data/dataset.csv"),注意在R中使用“/”而不是“\”作为分隔符。如果需要导入excel文件,可以将原文件另存为csv格式再导入R工作环境中。为了简化路径,还可以用setwd()函数设置工作环境目录,将所需的数据文件移动到该文件夹中即可,如:

> setwd("c:/data")
> data <- read.csv("dataset.csv")

还有许多其它导入数据的函数,比如read.table()和read.delim()等, 它们可以导入其它格式的数据文件比如说txt。这些函数之间的区别主要是默认值的不同。比如read.delim()默认列分隔符为"\t"。 下表列出了一些函数的默认值。

函数 首行是否列明 分隔符 小数点符号
read.table() FALSE “” “.”
read.csv() TRUE “,” “.”
read.csv2() TRUE “;” “,”
read.delim() TRUE “\t” “.”
read.delim2() TRUE “\t” “,”

相应的,可以使用write.table(),write.csv()和write.csv2() 等函数将数据输出,比如下面的语句就可以在原文件中加入新的一列,所用数据集longley是R中自带的数据集,来自J. W. Longley (1967)发表在JASA上的一篇论文,包含GNP deflator(GNP平减指数)、GNP(国民生产总值)、Unemployed(失业人数)、ArmedForces(武装力量)、Population(14岁以上人口)、Year(年份)、Employed(就业人数)七列,该语句计算失业人口与在业人口之和并形成新列,并将新数据集输出为不含列明以制表符分隔的txt文件:

> longley$add<-longley$Unemployed+longley$Employed
> write.table(longley,"longley_modified.txt", sep="\t", row.names=FALSE)

results matching ""

    No results matching ""