使用R读取外部数据
常用的外部数据有如下几种:
- EXCEL文档数据
- CSV文档数据
- 关系型数据库数据
下面分别针对如何在R中装载每种数据源进行详细讲解。
EXCEL数据
EXCEL是非常常用的一种数据表格工具,并且有些常用的统计和计算也可以在EXCEL工具中进行。所以该工具保存的数据格式是非常通用的,很多专业的BI工具也可以直接对接EXCEL文件。以Windwows Excel 2016(其它版本类似)编辑的EXCEL文档为例,内容如下图所示:
上述EXCEL文档中分别有3列,保存学生的学号(stu_no)、姓名(stu_name)和年龄信息(stu_age)。
那么有了外部数据以后,接着我们就需要在R中读取该数据了。在读取EXCEL数据之前,我们还需要在R下载相应的包(package)。
Linux环境下进入R语言环境非常简单,直接在命令行下输入:
root@hostname# R
然后回车即可。
如果出现上图所示的提示信息,说明已经进入了R的命令行模式。
接下来我们开始安装读取EXCEL所需要的包:xlsx。
直接在R命令行模式中输入:
> install.packages("xlsx")
输入以上命令以后,正常会出现选择下载的镜像,推荐大家选择国内的镜像:
下载完成以后,就可以加载xlsx的包了
> library(xlsx)
然后读取stu.xlsx文件:
> stu_data <- read.xlsx(file="download/stu.xlsx", sheetName = "Sheet1")
注意上述语句中的file参数和sheetName分别对应EXCEL文件的路径和Sheet名称。如果没有错误提示则表示读取成功,然后可以用class(stu_data)来查看stu_data的数据类型:
> class(stu_data)
也可以用head(stu_data)来查看stu_data中的数据内容:
> head(stu_data)
至此,使用R语言读取EXCEL中的数据就完成了。后续就可以利用R来处理这些数据了。
- 使用R的xlsx也可以非常方便的将数据保存为EXCEL文件,命令为:
> write.xlsx(x=stu_data, file="stu_bak.xlsx", sheetName="Sheet2")
上述命令中x为需要保存的dataframe, file为要保存的EXCEL文件路径, sheetName为EXCEL中的Sheet的名称。