📜  在 R 编程中扫描和读取文件中的数据 - scan()函数

📅  最后修改于: 2022-05-13 01:55:32.979000             🧑  作者: Mango

在 R 编程中扫描和读取文件中的数据 - scan()函数

R语言中的scan()函数用于扫描和读取数据。它通常用于在 R 语言中将数据读入向量或列表或从文件中。

示例 1:文本扫描

# 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 

输出 :

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


示例 2:将数据扫描为文本

# 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 

输出:

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


示例 3:具有扫描函数的跳线

# 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

输出:

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


示例 4:扫描 Excel CSV 文件

# 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

输出:

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"


示例 5:从键盘读取输入。

# take input from keyboard
z <- scan() 
1
2
3
4
   
# print output on the screen
print(z)

输出:

Read 4 items
[1] 1 2 3 4

在这里,在上面的代码中,scan()函数将获取用户的输入并使用 print()函数打印值。