R语言 读取文件

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 program reading a text file
 
# Read a text file using read.delim()
myData = read.delim("geeksforgeeks.txt", header = FALSE)
print(myData)
R

输出

1 A computer science portal for geeks.
R

注意: 上面的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:文件中用于小数点的字符。

例如

# R program reading a text file
 
# Read a text file using read.delim2
myData = read.delim2("geeksforgeeks.txt", header = FALSE)
print(myData)
R

输出

1 A computer science portal for geeks.
R
  • file.choose() : 在R语言中,也可以使用函数 file.choose() 交互式地选择一个文件,如果你是R语言编程的初学者,那么这个方法对你非常有用。

例如:

# R program reading a text file using file.choose()
 
myFile = read.delim(file.choose(), header = FALSE)
# If you use the code above in RStudio
# you will be asked to choose a file
print(myFile)
R

输出

1 A computer science portal for geeks.
R
  • read_tsv() : 这个方法也用于在 readr 包的帮助下读取以制表符分隔的(”\t”)数值。

语法: read_tsv(file, col_names = TRUE)

参数

  • file:包含要读入R的数据的文件的路径。
  • col_names。TRUE,FALSE,或者一个指定列名的字符向量。如果是TRUE,输入的第一行将被用作列名。

例子

# R program to read text file
# using readr package
 
# Import the readr library
library(readr)
 
# Use read_tsv() to read text file
myData = read_tsv("geeksforgeeks.txt", col_names = FALSE)
print(myData)
R

输出

# A tibble: 1 x 1
  X1                                  

1 A computer science portal for geeks.
R

注意: 你也可以像以前一样使用 file.choose()read_tsv()

# Read a txt file
myData <- read_tsv(file.choose())
R

一次读一行

read_lines() : 这个方法用于读取你自己选择的行,不管是一次读一行、两行还是十行。要使用这个方法,我们必须导入 reader 包。

语法: read_lines(file, skip = 0, n_max = -1L)

参数

  • file:文件路径
  • skip:读取数据前要跳过的行数
  • n_max:要读取的行数。如果n为-1,文件中的所有行都将被读取。

例子

# R program to read one line at a time
 
# Import the readr library
library(readr)
 
# read_lines() to read one line at a time
myData = read_lines("geeksforgeeks.txt", n_max = 1)
print(myData)
 
# read_lines() to read two line at a time
myData = read_lines("geeksforgeeks.txt", n_max = 2)
print(myData)
R

输出

[1] "A computer science portal for geeks."

[1] "A computer science portal for geeks."         
[2] "Geeksforgeeks is founded by Sandeep Jain Sir."
R

读取整个文件

read_file() : 这个方法是用来读取整个文件的。要使用这个方法,我们必须导入阅读器包。

语法: read_lines(file)

file: 文件路径

例子

# R program to read the whole file
 
# Import the readr library
library(readr)
 
# read_file() to read the whole file
myData = read_file("geeksforgeeks.txt")
print(myData)
R

输出

[1] “A computer science portal for geeks.\r\nGeeksforgeeks is founded by Sandeep Jain Sir.\r\nI am an intern at this amazing platform.”
Bash

以表格格式读取文件

另一种流行的存储文件的格式是表格格式。R提供了各种方法,人们可以从表格格式的数据文件中读取数据。

read.table() : read.table() 是一个通用函数,可以用来读取表格格式的文件。数据将作为一个数据框架被导入。

语法: read.table(file, header = FALSE, sep = “”, dec = “。”)

参数

  • file:包含要导入R的数据的文件的路径。
  • header:逻辑值。如果是TRUE,read.table()假设你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
  • sep:字段的分隔符
  • dec:文件中用于小数点的字符。

例如

# R program to read a file in table format
 
# Using read.table()
myData = read.table("basic.csv")
print(myData)
R

输出

1 Name,Age,Qualification,Address
2 Amiya,18,MCA,BBS
3 Niru,23,Msc,BLS
4 Debi,23,BCA,SBP
5 Biku,56,ISC,JJP
R

read.csv() : read.csv() 用于读取 “逗号分隔值 “文件(”.csv”)。在这种情况下,数据将作为一个数据框架被导入。

语法: read.csv(file, header = TRUE, sep = “,”, dec = “.”, …)

参数

  • file:包含要导入R的数据的文件的路径。
  • header:逻辑值。如果是TRUE,read.csv()假定你的文件有一个头行,所以第1行是每一列的名字。如果不是这种情况,你可以添加参数header = FALSE。
  • sep:字段的分隔符
  • dec:文件中用于小数点的字符。

例子

# R program to read a file in table format
 
# Using read.csv()
myData = read.csv("basic.csv")
print(myData)
R

输出

Name Age Qualification Address
1 Amiya  18           MCA     BBS
2  Niru  23           Msc     BLS
3  Debi  23           BCA     SBP
4  Biku  56           ISC     JJP
R

read.csv2() : read.csv()用于使用逗号”, “作为小数点和分号”; “作为字段分隔符的国家中的变体。

语法: read.csv2(file, header = TRUE, sep = “;”, dec = “, “, …)

参数

  • file:包含要导入R的数据的文件的路径。
  • header:逻辑值。如果是TRUE,read.csv2()假定你的文件有一个头行,所以第1行是每一列的名称。如果不是这种情况,你可以添加参数header = FALSE。
  • sep:字段分隔符
  • dec:文件中用于小数点的字符。

例子

# R program to read a file in table format
 
# Using read.csv2()
myData = read.csv2("basic.csv")
print(myData)
R

输出

Name.Age.Qualification.Address
1               Amiya,18,MCA,BBS
2                Niru,23,Msc,BLS
3                Debi,23,BCA,SBP
4                Biku,56,ISC,JJP
R

file.choice() : 你也可以像以前一样使用 file.choice( )和 read.csv()

例子

# R program to read a file in table format
 
# Using file.choose() inside read.csv()
myData = read.csv(file.choose())
# If you use the code above in RStudio
# you will be asked to choose a file
print(myData)
R

输出

Name Age Qualification Address
1 Amiya  18           MCA     BBS
2  Niru  23           Msc     BLS
3  Debi  23           BCA     SBP
4  Biku  56           ISC     JJP
R

read_csv() : 这个方法也用于在readr包的帮助下读取逗号(”,”)分隔的数值。

语法: read_csv(file, col_names = TRUE)

参数

  • file:包含要读入R的数据的文件的路径。
  • col_names:TRUE,FALSE,或者一个指定列名的字符向量。如果是TRUE,输入的第一行将被用作列名。

例子

# R program to read a file in table format
# using readr package
 
# Import the readr library
library(readr)
 
# Using read_csv() method
myData = read_csv("basic.csv", col_names = TRUE)
print(myData)
R

输出

Parsed with column specification:
cols(
  Name = col_character(),
  Age = col_double(),
  Qualification = col_character(),
  Address = col_character()
)
# A tibble: 4 x 4
  Name    Age Qualification Address

1 Amiya    18 MCA           BBS    
2 Niru     23 Msc           BLS    
3 Debi     23 BCA           SBP    
4 Biku     56 ISC           JJP   
R

从互联网上读取文件

可以使用函数 read.delim()read.csv()read.table() 来从网上导入文件。

例子

# R program to read a file from the internet
 
# Using read.delim()
myData = read.delim("http://www.sthda.com/upload/boxplot_format.txt")
print(head(myData))
R

输出

Nom variable Group
1 IND1       10     A
2 IND2        7     A
3 IND3       20     A
4 IND4       14     A
5 IND5       14     A
6 IND6       12     A
R

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程