Open In App

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

Last Updated : 30 Jun, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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.frame
data <- 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 directory
write.table(data,                    
            file = "data.txt",
            row.names = FALSE)
  
# Get currently used directory
getwd()   
              
# Apply scan function to txt file
data <- 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.frame
data <- 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 directory
write.table(data,                    
            file = "data.txt",
            row.names = FALSE)
          
# Read txt file into list
data <- 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.frame
data <- 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 directory
write.table(data,
            file = "data.txt",
            row.names = FALSE)
              
# Skip first line of txt file
data <- 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.frame
data <- 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 directory
write.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 keyboard
z <- scan() 
1
2
3
4
   
# print output on the screen
print(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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads