Итак, я хочу прочитать несколько файлов в одну таблицу или фрейм данных. Все мои файлы выглядят как показано ниже. Для одного идентификатора может быть несколько файлов с разными измерениями
File_name:test01.csv
ID:1243
View:d
Unit:mm
length:555
File_name:test02.csv
ID:1243
View:v
Unit:mm
volume:111
width:333
File_name: test03.csv
ID:1235
View:l
Unit:mm
length:666
height:444
width:222
В конце концов, я хочу что-то вроде этого
ID, Unit, Value, Measure,
1243, mm, 555, length
1243, mm, 111, volume
1243, mm, 333, width
1235, mm, 666, length
1235, mm, 444, height
1235, mm, 222, width
До сих пор я пробовал, чтобы я составил список файлов и прочитал все файлы в одну таблицу
csv_list %>%
map_df(~ read.table(.,skip = 1, sep = ':')) -> data
или
data_csv = ldply(xls_list, read.table, sep = ':', fill = T, header = F, skip = 1)
Я получаю длинную таблицу с одним файлом за другим, но я не уверен, как его переставить.
ID : 1243
View : d
Unit : mm
length : 555
ID : 1243
View : v
Unit : mm
volume : 111
width : 333
ID : 1235
View : l
Unit : mm
length : 666
height : 444
width : 222
Другая идея, которую я возглавил, состояла в том, чтобы просто прочитать каждый файл отдельно с циклом, но это занимает очень много времени
#Complete Code
path = "D:/Scripts/R_projects/Pictures"
setwd(path)
xls_list = list.files(path, pattern = ".csv", full.names = T)
data_csv = ldply(xls_list, read.table, sep = ':', fill = T, header = F, skip = 1)
#or
xls_list %>%
map_df(~ read.table(.,skip = 1, sep = ':')) -> data
glimpse(data)