R语言数据导入与导出
整这么一个系列,还是因为学R语言时遇到过一个非常“小白友好”的网站“DataScience Made Simple”。相信很多人搜到过这个网站,或许你在意到或许并没在意。年前试着和作者发了一封邮件,想要把他这个网站做成汉语版的帖子发在公众号上,让我感动的是作者团队欣然同意。于是就想着搞这么一个系列,能不能坚持下来还不好说……且行且珍惜吧。
在用R语言分析数据时,我们首先要进行数据的导入与导出。R支持多种文件格式,包括但不限于常见的txt,csv,xlsx,和tsv等等。数据的导入依赖于各种R包,方法大同小异,可根据实际情况举一反三。本次将简要介绍以下实用技巧:
- 怎样在R中导入 .csv 文件
- 怎样在R中导出 .csv 文件
- 怎样在R中导入 .xlsx 文件
- 怎样在R中导出 .xlsx 文件
在R中获取和设置工作路径
在读取数据之前我们需要设定文件位置,以便找到相应文件并进行读取。
用 setwd()
函数可以把特定位置设置成为工作路径。getwd()
函数可以获取当前工作路径。
# Get the current working directory.
getwd()
# output will be "C:/Users/username/Documents"
# Set current working directory.
setwd("D:/Folder_name")
# now the working directory has been set to Folder_name in D Drive
# Get the current working directory.
getwd()
# output will be "D:/Folder_name"
在R中导出 .CSV 文件
read.csv()
是R中默认的读取.csv文件的函数,是read.table()
函数的简易形式,读.csv文件时非常方便实用。
- 如果所需文件在你的当前工作路径中:
# read a csv file in R
mydata = read.csv("input.csv")
# reads the csv file in R object named mydata
print(mydata)
#print()可省略
mydata
- 如果所需文件不在当前工作路径中,则需要在文件前指定所在位置:以下两种形式“/”或“\\”皆可用于指定路径。
# read a csv file in R
mydata = read.csv("D:/other_folder/input.csv")
mydata = read.csv("D:\\other_folder\\input.csv")
#reads the file named "input.csv" from "other_folder" in "D drive"
print(mydata)
上述示例中将所需文件导入R中并储存为“mydata”。
在R中将数据导出为.csv文件
在R中导出数据为.csv文件时使用 write.csv()
函数。以下示例分别为将mydata导出到当前工作路径或到指定路径。
# Write data into a csv file in R
write.csv(mydata,"output.csv")
# contents in the object “mydata” are written to a csv file named “output.csv” in Current working directory
Write.csv(mydata, “D:/other_folder/output.csv”)
# similarly to write outside the working directory you have to provide the path along with file name`
在R中导入Excel数据
Microsoft Excel是使用最广泛的电子表格程序,它以.xls或.xlsx格式存储数据。R可以使用一些特定的包直接从这些文件中读取数据。较常用的包有openxlsx、xlsx、gdata等。我们将使用openxlsx包进行演示。这个包安装起来较方便,而不像xlsx包那样在安装时容易出错。但是openxlsx包只支持读取.xlsx文件,而不支持.xls格式。 R也可以用这个包写入excel文件。
# read data from excel (.xlsx) file in R
install.packages("openxlsx")
library(openxlsx)
# to read the data from nth sheet (say 4)
mydata = read.xlsx("D:/myexcel.xlsx", sheet = 4)
mydata
在R中将数据导出excel文件 (.xlsx)
:
openxlsx包中的write.xlsx()
函数可用于将数据导入excel文件。
# write data into excel (.xlsx) file in R
#install.packages("openxlsx")
library(openxlsx)
# data in the object “mydata” is written in a file named ”dummy.xlsx” in D drive with sheet named ”Newdata”
write.xlsx(mydata,"D:/dummy.xlsx")
write.xlsx
是导出数据的简易方式。关于导出的更多参数设置,可在R中?openxlsx::writeData()
查询。所有可设置参数如下:
writeData(
wb,
sheet,
x,
startCol = 1,
startRow = 1,
xy = NULL,
colNames = TRUE,
rowNames = FALSE,
headerStyle = NULL,
borders = c("none", "surrounding", "rows", "columns", "all"),
borderColour = getOption("openxlsx.borderColour", "black"),
borderStyle = getOption("openxlsx.borderStyle", "thin"),
withFilter = FALSE,
keepNA = FALSE,
na.string = NULL,
name = NULL,
sep = ", "
)
撰写过程有所更新或调整。点击“阅读原文”直达英文网站原文(有广告弹窗)。