Я пытаюсь прочитать список из n файлов .txt и сохранить содержимое в виде списка символов. Однако, когда я читаю их и добавляю в список «txts», это выдает мне ошибку:
«Прочитайте 32 пункта
количество заменяемых элементов не кратно длине замены "
Каждый из текстовых файлов содержит 32 строки по 32 символа («0» и «1»). На первом этапе я хотел бы получить список из n элементов (каждый из 32 элементов по 32 символа в каждом) с содержимым текстовых файлов.
Затем мне нужно будет преобразовать каждый из 32x32 символов в вектор 1x1024 (для этого я буду использовать strstrip), и в самом конце мне понадобится матрица из n (количество txts) строк и 1024 столбцов. (количество символов в каждом текстовом файле).
С помощью приведенного ниже я попытался создать список содержимого двух текстовых файлов, но выдает ошибку. Я использовал сканирование, потому что мне нужны все символы в текстовых файлах. Я попробовал read.table, и он отлично работает, но он конвертирует их в числа, и я не хочу этого.
file_example <-list("digits/trainingDigits/0_0.txt","digits/trainingDigits/0_1.txt")
txts <- c()
for (i in file_example){
nb = scan(s,what="character", sep=NULL)
txts[s] <- c(nb)
}
Есть идеи, как ее решить? Надеюсь, это достаточно ясно.
Спасибо !!
Обновление:
Я попробовал следующее с помощью следующего кода:
file_example <- c("digits/trainingDigits/0_0.txt","digits/trainingDigits/0_1.txt")
txts <- c()
mylist <- list()
for (i in 1: length(file_example)){
nb = read.csv(file_example[[i]])
txts[s] <- c(nb)
txts <- as.character(nb$X)
mylist[[i]] <- txts
}
Тем не менее, я получаю список из двух элементов и в пределах 32 чисел, но я думаю, что символы не сохранились.
первый элемент списка из двух:
* * Тысячу двадцать-три [[1]]
[1] "1.111111e + 19" "1.111111111e + 21" "1.1111111111111e + 24" "1.1111110111111e + 24" "1.11111100000111e + 25"
[6] "1.11111100000001e + 25" "1.11111100000001e + 25" "1.111111e + 25" "1.111111e + 25" "1.11111e + 25"
[11] "1.11111e + 25" "1.11111e + 25" "1.11111e + 24" "1.11111e + 24" "1.11111e + 24"
[16] "1.11111e + 24" "1.111111e + 25" "1.111011e + 25" "1.111e + 25" "1.111e + 24"
[21] "1.11100000000001e + 24" "1.11100000000011e + 24" "1.11100000000111e + 24" "1.11000000111111e + 23" "1.1110001111111e + 23"
[26] "1.1111111111111e + 23" "1.111111111111e + 22" "1.11111111111e + 22" "1.11111111e + 21" "1.1111e + 20"
[31] "1.1e + 19"
И конечная цель - получить это для каждого из файлов .txt, чтобы затем его можно было преобразовать в вектор с 1024 элементами:
"[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
[64] 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
[127] 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
[190] 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
[253] 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0
[316] 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0
[379] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 "
Это будет иметь 1024 символа
Спасибо