vlambda博客
学习文章列表

R语言数据导入与导出


R语言数据导入与导出

在用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 = ", "
)

撰写过程有所更新或调整。点击“阅读原文”直达英文网站原文(有广告弹窗)。

== 更多干货 关注直达 ==
| | | | | | | | | | | | | | | | | | | |