Scan and Read Data from a File in R Programming – scan() Function

30 Jun, 2020
scan() function in R Language is used to scan and read data. It is usually used to read data into vector or list or from file in R Language.
Syntax:scan(“data.txt”, what = “character”)
Parameter:data.txt: Text file to be scanned
Returns: Scanned output
Example 1: Scanning of Text
# R Program to scan a file  # Create example data.framedata <- data.frame(x1 = c(1, 2, 2, 3),                                   x2 = c(4, 5, 6, 7),                   x3 = c(8, 9, 10, 11))data    # Write data as txt file to directorywrite.table(data,                                file = "data.txt",            row.names = FALSE)  # Get currently used directorygetwd()                 # Apply scan function to txt filedata <- scan("data.txt", what = "character")   data 
Output :
  x1 x2 x3
1  1  4  8
2  2  5  9
3  2  6 10
4  3  7 11

[1] "/home/cg/root/8121844"

[1] "x1" "x2" "x3" "1"  "4"  "8"  "2"  "5"  "9"  "2"  "6"  "10" "3"  "7"  "11"
Read 15 items

 Example 2: Scan data as text
# R Program to scan a file  # Create example data.framedata <- data.frame(x1 = c(1, 2, 2, 3),                                   x2 = c(4, 5, 6, 7),                   x3 = c(8, 9, 10, 11))data    # Write data as txt file to directorywrite.table(data,                                file = "data.txt",            row.names = FALSE)          # Read txt file into listdata <- scan("data.txt", what = list("", "", ""))    data 
Output:
  x1 x2 x3
1  1  4  8
2  2  5  9
3  2  6 10
4  3  7 11
[[1]]
[1] "x1" "1"  "2"  "2"  "3" 

[[2]]
[1] "x2" "4"  "5"  "6"  "7" 

[[3]]
[1] "x3" "8"  "9"  "10" "11"

Read 5 records

 Example 3: Skip lines with scan function
# R Program to scan a file  # Create example data.framedata <- data.frame(x1 = c(1, 2, 2, 3),                     x2 = c(4, 5, 6, 7),                   x3 = c(8, 9, 10, 11))data    # Write data as txt file to directorywrite.table(data,            file = "data.txt",            row.names = FALSE)              # Skip first line of txt filedata <- scan("data.txt", skip = 1)                   data
Output:
  x1 x2 x3
1  1  4  8
2  2  5  9
3  2  6 10
4  3  7 11
 [1]  1  4  8  2  5  9  2  6 10  3  7 11
Read 12 items

 Example 4: Scan Excel CSV File
# R Program to scan a file  # Create example data.framedata <- data.frame(x1 = c(1, 2, 2, 3),                    x2 = c(4, 5, 6, 7),                   x3 = c(8, 9, 10, 11))data    # Write data as csv file to directorywrite.table(data,                            file = "data.csv",            row.names = FALSE)              # Apply scan function to csv file           data <- scan("data.csv", what = "character")        data
Output:
  x1 x2 x3
  x1 x2 x3
1  1  4  8
2  2  5  9
3  2  6 10
4  3  7 11
Read 15 items
 [1] "x1" "x2" "x3" "1"  "4"  "8"  "2"  "5"  "9"  "2"  "6"  "10" "3"  "7"  "11"

 Example 5: Read input from the keyboard.
# take input from keyboardz <- scan() 1234   # print output on the screenprint(z)
Output:
Read 4 items
[1] 1 2 3 4

Here, in the above code, the scan() function will take input from the user and print value using the print() function.
R-FileHandling
R-Functions
R-Input/Output
R Language
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Filter data by multiple conditions in R using Dplyr
How to Replace specific values in column in R DataFrame ?
Change Color of Bars in Barchart using ggplot2 in R
How to Split Column Into Multiple Columns in R DataFrame?
Loops in R (for, while, repeat)
Group by function in R using Dplyr
How to change Row Names of DataFrame in R ?
Printing Output of an R Program
How to Change Axis Scales in R Plots?
R - if statement