R 读取具有不同列数的txt文件
如何在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 = "
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如果它解决了您的问题,请不要忘记:)