R 编程中的数据处理
R 编程语言用于统计和数据分析目的。 R 编程的所有这些应用程序中经常使用数据的导入和导出。
R 语言能够读取不同类型的文件,例如逗号分隔值 (CSV) 文件、文本文件、Excel 工作表和文件、SPSS 文件、SAS 文件等。
R 允许其用户在一些预定义函数的帮助下顺利使用系统目录,这些函数将目录路径作为参数或返回用户正在处理的当前目录的路径。以下是 R 中的一些目录函数:
-
getwd():
此函数用于获取 R 正在使用的当前工作目录。 -
setwd():
R中的这个函数用于改变当前工作目录的路径,目录的路径作为参数传递给函数。
例子:setwd("C:/RExamples/")
或者
setwd("C:\\RExamples\\")
-
list.files():
此函数列出当前工作目录中存在的所有文件和文件夹。
在 R 中导入文件
让我们在R中导入一些基本文件来学习导入数据文件的方法:
导入文本文件
在 R 语言中,可以使用read.table()
函数读取文本文件。
Syntax:
Parameters:
header represents if the file contains header row or not
sep represents the delimiter value used in file
要了解read.table()
的所有参数,请在 R 中执行以下命令:
read.table(filename, header = FALSE, sep = "")
例子:
假设当前工作目录中存在一个文件,并且使用 R 编程,从该特定文本文件导入数据,文本文件的内容如下所示:
help("read.table")
值由空格分隔。
100 A a
200 B b
300 C c
400 D d
500 E e
600 F f
输出:
# Check current working directory
getwd()
# Get content into a data frame
data <- read.table("TextFileExample.txt",
header = FALSE, sep = " ")
# Printing content of Text File
print(data)
# Print the class of data
print(class(data))
导入 CSV 文件
可以使用read.csv()
函数在 R 中导入和读取逗号分隔值或 CSV 文件。
Syntax:
Parameters:
header represents if the file contains header row or not
sep represents the delimiter value used in file
要了解read.csv()
的所有参数,请在 R 中执行以下命令:
[1] "C:/Users/xyz/Documents"
V1 V2 V3
1 100 A a
2 200 B b
3 300 C c
4 400 D d
5 500 E e
6 600 F f
[1] "data.frame"
例子:
假设当前工作目录中存在一个 csv 文件,文件内容如下所示:
read.csv(filename, header = FALSE, sep = "")
输出:
help("read.csv")
导入 Excel 文件
要读取和导入 excel 文件,需要“xlsx ”包才能使用read.xlsx()
函数。要读取“.xls” excel 文件,需要使用“ gdata ”包才能使用read.xls()
函数。
Syntax:
OR
Parameters:
sheetIndex specifies number of sheet
sheetName specifies name of sheet
要了解read.xlsx()
的所有参数,请在 R 中执行以下命令:
# Check current working directory
getwd()
# Get content into a data frame
data <- read.csv("CSVFileExample.csv",
header = FALSE,sep = "\t")
# Printing content of Text File
print(data)
# Print the class of data
print(class(data))
例子:
假设当前工作目录中存在一个 xlsx 文件,文件内容如下所示:
[1] "C:/Users/xyz/Documents"
V1 V2 V3
1 100 AB ab
2 200 CD cd
3 300 EF ef
4 400 GH gh
5 500 IJ ij
[1] "data.frame"
输出:
read.xlsx(filename, sheetIndex)
在 R 中导出文件
以下是将数据导出到 R 中的文件的一些方法:
- 使用控制台
R 中的cat()
函数用于将对象输出到控制台。它也可以用作将输出重定向到特定文件。Syntax:
Parameter:
file specifies the filename to which output has to redirected要了解
cat()
的所有参数,请在 R 中执行以下命令:read.xlsx(filename, sheetName)
例子:
help("read.xlsx")
输出:
上面的代码创建一个新文件并重定向cat()
的输出。执行代码后文件的内容如下所示-# Install xlsx package install.packages("xlsx") library(xlsx) # Check current working directory getwd() # Get content into a data frame data <- read.xlsx("ExcelExample.xlsx", sheetIndex = 1, header = FALSE) # Printing content of Text File print(data) # Print the class of data print(class(data))
- 使用
sink()
函数:
sink()
函数用于将cat()
和print()
的所有输出重定向到给定的文件名。
句法:[1] "C:/Users/xyz/Documents" X1 X2 X3 1 1000 ABC abc 2 2000 DEF def 3 3000 GHI ghi 4 4000 JKL jkl 5 5000 MNO mno [1] "data.frame"
要了解
sink()
的所有参数,请在 R 中执行以下命令:cat(..., file)
例子:
help("cat")
输出:
上面的代码创建一个新文件并重定向输出。执行代码后文件的内容如下所示-str = "World" # Redirect Output to file cat("Hello, ", str, file = "catExample.txt")
写入 CSV 文件
可以使用write.csv()
函数将矩阵或数据框对象重定向并写入 csv 文件。
Syntax: write.csv(x, file)
Parameter:
file specifies the file name used for writing
要了解write.csv()
的所有参数,请在 R 中执行以下命令:
Hello, World
例子:
sink(filename) # begins redirecting output to file
.
.
sink()
输出:
上面的代码创建一个新文件并重定向输出。执行代码后文件的内容如下所示-