R 读取具有不同列数的txt文件

R 读取具有不同列数的txt文件,r,import,R,Import,如何在R中读取大量具有不同列数的txt文件? 例如 我有以下数据: 6 4 2 5 5 3 3 3 4 5 6 4 5 6 7 8 6 3 2 5 8 4 3 1 4 5 0 5 4 8 谢谢在base R中,您可以使用读线和strsplit执行类似操作: # Store sample data in file sample.txt cat( "6 4 2 5 5 3 3 3 4 5 6 4 5 6 7 8 6 3 2 5 8 4 3 1 4 5 0 5 4 8 ", file = "

如何在R中读取大量具有不同列数的txt文件? 例如 我有以下数据:

6 4 2 
5 5 3
3 3 4 5 6 
4 5 6 7 8
6 3 2 5 8 4 3 
1 4 5 0 5 4 8 

谢谢

在base R中,您可以使用
读线
strsplit
执行类似操作:

# Store sample data in file sample.txt
cat(
"6 4 2
5 5 3
3 3 4 5 6
4 5 6 7 8
6 3 2 5 8 4 3
1 4 5 0 5 4 8
", file = "sample.txt")

# Read data line by line
data <- readLines("sample.txt");

# Split entries by line, returns list
lst <- lapply(data, function(x) unlist(strsplit(x, " ")));
#[[1]]
#[1] "6" "4" "2"
#
#[[2]]
#[1] "5" "5" "3"
#
#[[3]]
#[1] "3" "3" "4" "5" "6"
#
#[[4]]
#[1] "4" "5" "6" "7" "8"
#
#[[5]]
#[1] "6" "3" "2" "5" "8" "4" "3"
#
#[[6]]
#[1] "1" "4" "5" "0" "5" "4" "8"
#将样本数据存储在sample.txt文件中
猫(
"6 4 2
5 5 3
3 3 4 5 6
4 5 6 7 8
6 3 2 5 8 4 3
1 4 5 0 5 4 8
,file=“sample.txt”)
#逐行读取数据
数据这个怎么样

df <- read.table(file="test.txt", fill=T)
样本数据:

  V1 V2 V3 V4 V5 V6 V7
1  6  4  2 NA NA NA NA
2  5  5  3 NA NA NA NA
3  3  3  4  5  6 NA NA
4  4  5  6  7  8 NA NA
5  6  3  2  5  8  4  3
6  1  4  5  0  5  4  8
6 4 2 
5 5 3
3 3 4 5 6 
4 5 6 7 8
6 3 2 5 8 4 3 
1 4 5 0 5 4 8

test.txt
中,现在作为自定义函数编写,尽管我确信Prems解决方案已经足够

library(data.table)

data <- readLines("sample.txt")

read_different <- function(data) {
  list_of_rowdata <- lapply(data, function(x) data.frame(matrix(unlist(strsplit(x, " ")), nrow = 1)))
  my_table <- data.frame(rbindlist(list_of_rowdata, fill = T))
  return(my_table)
}

read_different(data)
库(data.table)

数据试读:你的目标是什么?data.table::fread可以在启用fill=TRUE参数的情况下处理此问题。@YefR如果它解决了您的问题,请不要忘记:)