R语言 读取文件
到目前为止,使用R程序的操作都是在提示符/终端上完成的,并没有存储在任何地方。但是在软件行业中,大多数程序都是为了存储从程序中获取的信息而编写的。其中一种方式是将获取的信息存储在一个文件中。因此,可以对文件进行的两个最常见的操作是。
- 在R中导入/读取文件
- 在R语言中导出/写入文件
在R编程语言中读取文件
当一个程序被终止时,整个数据就会丢失。储存在文件中,即使程序终止,也会保留我们的数据。如果我们必须输入大量的数据,那么输入这些数据将需要大量的时间。然而,如果我们有一个包含所有数据的文件,我们可以使用R中的几个命令轻松地访问文件的内容,你可以很容易地将你的数据从一台计算机转移到另一台计算机而不做任何改变。因此,这些文件可以以各种格式存储。它可能存储在.txt(tab-separated value)文件中,或以表格格式即.csv(comma-separated value)文件存储,也可能是在互联网或云端。R提供了非常简单的方法来读取这些文件。
R语言中的文件阅读
存储文件的重要格式之一是文本文件。R提供了各种方法,人们可以从文本文件中读取数据。
- read.delim() : 这个方法用于读取 “tab分隔的值 “文件(”.txt”)。默认情况下,点(”.”)被用作小数点。
语法: read.delim(file, header = TRUE, sep = “\t”, dec = “. “, …)
参数
- file:包含要读入R的数据的文件的路径。
- header:一个逻辑值。如果是TRUE,read.delim()假设你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
- sep:字段分隔符。”\t “用于以制表符分隔的文件。
- dec:文件中用于小数点的字符。
例如
输出
注意: 上面的R代码,假设文件 “geeksforgeeks.txt “在你的当前工作目录中。要知道你当前的工作目录,请在R控制台中输入函数 getwd()
- read.delim2() : 这个方法用于读取 “tab分隔的值 “文件(”.txt”)。默认情况下,点(”,”)被当作小数点使用。
语法: read.delim2(file, header = TRUE, sep = “\t”, dec = “, “, …)
参数
- file:包含要读入R的数据的文件的路径。
- header:一个逻辑值。如果是TRUE,read.delim2()假定你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
- sep:字段分隔符。”\t “用于以制表符分隔的文件。
- dec:文件中用于小数点的字符。
例如
输出
- file.choose() : 在R语言中,也可以使用函数 file.choose() 交互式地选择一个文件,如果你是R语言编程的初学者,那么这个方法对你非常有用。
例如:
输出
- read_tsv() : 这个方法也用于在 readr 包的帮助下读取以制表符分隔的(”\t”)数值。
语法: read_tsv(file, col_names = TRUE)
参数
- file:包含要读入R的数据的文件的路径。
- col_names。TRUE,FALSE,或者一个指定列名的字符向量。如果是TRUE,输入的第一行将被用作列名。
例子
输出
注意: 你也可以像以前一样使用 file.choose() 和 read_tsv() 。
一次读一行
read_lines() : 这个方法用于读取你自己选择的行,不管是一次读一行、两行还是十行。要使用这个方法,我们必须导入 reader 包。
语法: read_lines(file, skip = 0, n_max = -1L)
参数
- file:文件路径
- skip:读取数据前要跳过的行数
- n_max:要读取的行数。如果n为-1,文件中的所有行都将被读取。
例子
输出
读取整个文件
read_file() : 这个方法是用来读取整个文件的。要使用这个方法,我们必须导入阅读器包。
语法: read_lines(file)
file: 文件路径
例子
输出
以表格格式读取文件
另一种流行的存储文件的格式是表格格式。R提供了各种方法,人们可以从表格格式的数据文件中读取数据。
read.table() : read.table() 是一个通用函数,可以用来读取表格格式的文件。数据将作为一个数据框架被导入。
语法: read.table(file, header = FALSE, sep = “”, dec = “。”)
参数
- file:包含要导入R的数据的文件的路径。
- header:逻辑值。如果是TRUE,read.table()假设你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
- sep:字段的分隔符
- dec:文件中用于小数点的字符。
例如
输出
read.csv() : read.csv() 用于读取 “逗号分隔值 “文件(”.csv”)。在这种情况下,数据将作为一个数据框架被导入。
语法: read.csv(file, header = TRUE, sep = “,”, dec = “.”, …)
参数
- file:包含要导入R的数据的文件的路径。
- header:逻辑值。如果是TRUE,read.csv()假定你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
- sep:字段的分隔符
- dec:文件中用于小数点的字符。
例子
输出
read.csv2() : read.csv()用于使用逗号”, “作为小数点和分号”; “作为字段分隔符的国家中的变体。
语法: read.csv2(file, header = TRUE, sep = “;”, dec = “, “, …)
参数
- file:包含要导入R的数据的文件的路径。
- header:逻辑值。如果是TRUE,read.csv2()假定你的文件有一个头行,所以第1行是每一列的名称。如果不是这种情况,你可以添加参数header = FALSE。
- sep:字段分隔符
- dec:文件中用于小数点的字符。
例子
输出
file.choice() : 你也可以像以前一样使用 file.choice( )和 read.csv() 。
例子
输出
read_csv() : 这个方法也用于在readr包的帮助下读取逗号(”,”)分隔的数值。
语法: read_csv(file, col_names = TRUE)
参数
- file:包含要读入R的数据的文件的路径。
- col_names:TRUE,FALSE,或者一个指定列名的字符向量。如果是TRUE,输入的第一行将被用作列名。
例子
输出
从互联网上读取文件
可以使用函数 read.delim() 、 read.csv() 和 read.table() 来从网上导入文件。
例子
输出