Данные импорта в R с неизвестным числом столбцов?

Один возможный ответ - то, что AI является набором очень тяжелых проблем, и Lisp является хорошим языком для решения тяжелых проблем, не просто AI.

относительно того, почему это: макросы, родовые функции и богатый самоанализ допускают краткий код и легкое введение доменных абстракций —, это - язык, который можно сделать более мощным. Для большого количества проблем это является ненужным, и это идет со своими собственными затратами, но для других проблем, что питание необходимо для создания любого прогресса.

30
задан Shane 9 December 2009 в 15:56
поделиться

2 ответа

Есть хорошая функция count.fields (см. Справку), которая подсчитывает количество столбцов в строке:

count.fields("test", sep = "\t")
#[1] 1 2 3 4 5 6 7 8

Итак, используя ваше второе решение:

no_col <- max(count.fields("test", sep = "\t"))
data <- read.table("test",sep="\t",fill=TRUE,col.names=1:no_col)
data
#   X1 X2 X3 X4 X5 X6 X7 X8
# 1  1 NA NA NA NA NA NA NA
# 2  1  2 NA NA NA NA NA NA
# 3  1  2  3 NA NA NA NA NA
# 4  1  2  3  4 NA NA NA NA
# 5  1  2  3  4  5 NA NA NA
# 6  1  2  3  4  5  6 NA NA
# 7  1  2  3  4  5  6  7 NA
# 8  1  2  3  4  5  6  7  8
56
ответ дан 27 November 2019 в 23:40
поделиться

Использование count.fields определенно правильный подход, но только для полноты:

Другой вариант - ввести весь необработанный текст и проанализировать его внутри R:

x <- readLines(textConnection(
"1\t
1\t2
1\t2\t3
1\t2\t3\t4
1\t2\t3\t4\t5
1\t2\t3\t4\t5\t6"))
x <- strsplit(x,"\t")

Чтобы объединить список векторов неравной длины, проще всего использовать функцию rbind.fill из plyr :

library(plyr)
# requires data.frames with column names
x <- lapply(x,function(x) {x <- as.data.frame(t(x)); colnames(x)=1:length(x); return(x)})
do.call(rbind.fill,x)
1    2    3    4    5    6
1 1 <NA> <NA> <NA> <NA> <NA>
2 1    2 <NA> <NA> <NA> <NA>
3 1    2    3 <NA> <NA> <NA>
4 1    2    3    4 <NA> <NA>
5 1    2    3    4    5 <NA>
6 1    2    3    4    5    6
6
ответ дан 27 November 2019 в 23:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: