Как обработать список данных .csv - PullRequest
1 голос
/ 14 января 2020

Извините за новичок ie вопрос здесь, что случилось, я написал серию кода для обработки одного фрейма данных .csv.

Вот как выглядит код (примерная версия):

MyFile <- read.csv(tk_choose.files(caption = "Choose CSV files from directory",),header = TRUE)%>% # 
 Select Input CSV Data
 transmute(A)%>% 
 summarise_all(sum,)%>%
 write.csv(file = choose.files()) # Output As CSV File)

, а вот как выглядит вывод в файле Output CSV:

enter image description here

Но теперь мне нужно применить эти серии кода к списку данных .csv вместо одного.

Мне удалось использовать код:

temp = tk_choose.files(caption = "Choose CSV files from directory",)
myfiles = lapply(temp, read.delim)

, чтобы импортировать эти CSV-файлы в виде списка, но есть ли способ применить тот же код (ie.

transmute(A)%>% 
summarise_all(sum,)%>%

) ко всем CSV-файлам в списке и объединить результат вместе? (ie.

            A
file1   658839755
file2   1541654313
file3   4643213843

)

Спасибо

1 Ответ

1 голос
/ 14 января 2020

Вы можете использовать lapply / map над myfiles и применять один и тот же код к каждому файлу.

library(dplyr)
purrr::map(myfiles, ~.x %>% transmute(A)%>% 
                     summarise_all(sum) %>%
                     write.csv(file = choose.files())) 

Однако это может быть проще

purrr::map(myfiles, ~.x %>% summarise(A = sum(A)) %>% 
                      write.csv(file = choose.files()) 
...