Skip to content
Related Articles

Related Articles

Reading Files in R Programming
  • Last Updated : 10 May, 2020

So far the operations using R program are done on a prompt/terminal which is not stored anywhere. But in the software industry, most of the programs are written to store the information fetched from the program. One such way is to store the fetched information in a file. So the two most common operations that can be performed on a file are:

  • Importing/Reading Files in R
  • Exporting/Writing Files in R

Reading Files in R

When a program is terminated, the entire data is lost. Storing in a file will preserve our data even if the program terminates. If we have to enter a large number of data, it will take a lot of time to enter them all. However, if we have a file containing all the data, we can easily access the contents of the file using a few commands in R. You can easily move your data from one computer to another without any changes. So those files can be stored in various formats. It may be stored in .txt(tab-separated value) file, or in a tabular format i.e .csv(comma-separated value) file or it may be on internet or cloud. R provides very easier methods to read those files.

Reading a text file

One of the important formats to store a file is in a text file. R provides various methods that one can read data from a text file.

  • read.delim(): This method is used for reading “tab-separated value” files (“.txt”). By default, point (“.”) is used as decimal points.

    read.delim(file, header = TRUE, sep = “\t”, dec = “.”, …)

    file: the path to the file containing the data to be read into R.
    header: a logical value. If TRUE, read.delim() assumes that your file has a header row, so row 1 is the name of each column. If that’s not the case, you can add the argument header = FALSE.
    sep: the field separator character. “\t” is used for a tab-delimited file.
    dec: the character used in the file for decimal points.



    Example:




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

    Output:

    1 A computer science portal for geeks.
    

    Note: The above R code, assumes that the file “geeksforgeeks.txt” is in your current working directory. To know your current working directory, type the function getwd() in R console.

  • read.delim2(): This method is used for reading “tab-separated value” files (“.txt”). By default, point (“,”) is used as decimal points.

    read.delim2(file, header = TRUE, sep = “\t”, dec = “,”, …)

    file: the path to the file containing the data to be read into R.
    header: a logical value. If TRUE, read.delim2() assumes that your file has a header row, so row 1 is the name of each column. If that’s not the case, you can add the argument header = FALSE.
    sep: the field separator character. “\t” is used for a tab-delimited file.
    dec: the character used in the file for decimal points.

    Example:




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

    Output:

    1 A computer science portal for geeks.
    
  • file.choose(): In R it’s also possible to choose a file interactively using the function file.choose(), and if you’re a beginner in R programming then this method is very useful for you.

    Example:






    # 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)

    Output:

    1 A computer science portal for geeks.
    
  • read_tsv(): This method is also used for to read a tab separated (“\t”) values by using the help of readr package.

    read_tsv(file, col_names = TRUE)

    file: the path to the file containing the data to be read into R.
    col_names: Either TRUE, FALSE, or a character vector specifying column names. If TRUE, the first row of the input will be used as the column names.

    Example:




    # 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)

    Output:

    # A tibble: 1 x 1
      X1                                  
                                     
    1 A computer science portal for geeks.
    

    Note: You can also use file.choose() with read_tsv() just like before.

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

Reading one line at a time

  • read_lines(): This method is used for the reading line of your own choice whether it’s one or two or ten lines at a time. To use this method we have to import reader package.
    read_lines(file, skip = 0, n_max = -1L)
    
    file: file path
    skip: Number of lines to skip before reading data
    n_max: Numbers of lines to read. If n is -1, all lines in the file will be read.
    

    Example:




    # 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)

    Output:

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

Reading the whole file

  • read_file(): This method is used for reading the whole file. To use this method we have to import reader package.
    read_lines(file)
    
    file: the file path
    

    Example:




    # 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)

    Output:

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

Reading a file in a table format

Another popular format to store a file is in a tabular format. R provides various methods that one can read data from a tabular formatted data file.

  • read.table(): read.table() is a general function that can be used to read a file in table format. The data will be imported as a data frame.

    read.table(file, header = FALSE, sep = “”, dec = “.”)

    file: the path to the file containing the data to be imported into R.
    header: logical value. If TRUE, read.table() assumes that your file has a header row, so row 1 is the name of each column. If that’s not the case, you can add the argument header = FALSE.
    sep: the field separator character
    dec: the character used in the file for decimal points.

    Example:




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

    Output:

    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
    
  • read.csv(): read.csv() is used for reading “comma separated value” files (“.csv”). In this also the data will be imported as a data frame.

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

    file: the path to the file containing the data to be imported into R.
    header: logical value. If TRUE, read.csv() assumes that your file has a header row, so row 1 is the name of each column. If that’s not the case, you can add the argument header = FALSE.
    sep: the field separator character
    dec: the character used in the file for decimal points.

    Example:




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

    Output:

    Name Age Qualification Address
    1 Amiya  18           MCA     BBS
    2  Niru  23           Msc     BLS
    3  Debi  23           BCA     SBP
    4  Biku  56           ISC     JJP
    
  • read.csv2(): read.csv() is used for variant used in countries that use a comma “,” as decimal point and a semicolon “;” as field separators.

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

    file: the path to the file containing the data to be imported into R.
    header: logical value. If TRUE, read.csv2() assumes that your file has a header row, so row 1 is the name of each column. If that’s not the case, you can add the argument header = FALSE.
    sep: the field separator character
    dec: the character used in the file for decimal points.

    Example:




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

    Output:

    Name.Age.Qualification.Address
    1               Amiya,18,MCA,BBS
    2                Niru,23,Msc,BLS
    3                Debi,23,BCA,SBP
    4                Biku,56,ISC,JJP
    
  • file.choose(): You can also use file.choose() with read.csv() just like before.

    Example:




    # 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)

    Output:

    Name Age Qualification Address
    1 Amiya  18           MCA     BBS
    2  Niru  23           Msc     BLS
    3  Debi  23           BCA     SBP
    4  Biku  56           ISC     JJP
    
  • read_csv(): This method is also used for to read a comma (“,”) separated values values by using the help of readr package.

    read_csv(file, col_names = TRUE)

    file: the path to the file containing the data to be read into R.
    col_names: Either TRUE, FALSE, or a character vector specifying column names. If TRUE, the first row of the input will be used as the column names.

    Example:




    # 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)

    Output:

    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   
    

Reading a file from internet

It’s possible to use the functions read.delim(), read.csv() and read.table() to import files from the web.

Example:




# R program to read a file from the internet
  
# Using read.delim()
print(head(myData))

Output:

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

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :