R: объединить сводку нескольких CSV-файлов в один фрейм данных

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

getSummary<-function(df){
   summary(df$Names)
}

filenames<-list.files(path, pattern="*.csv", full.names=T)
ldf<-lapply(filenames, read.csv, header=T)
results<-lapply(ldf, getSummary)

Он возвращает результаты следующим образом:

print(results)
[[1]]  a   b   c  d
      100  2   3  4
[[2]]  a   b   c  d
      97   4   2  6

Я хочу что-то вроде этого

filename  a   b   c   d
1.csv    100  2   3   4
2.csv     97  4   2   6

Может кто-нибудь помочь??

Спасибо.


person Rachit Agrawal    schedule 07.06.2013    source источник


Ответы (1)


Я думаю, вы, вероятно, хотите do.call(rbind,results). Но это будет работать только в том случае, если каждый компонент имеет хотя бы по одной каждой букве (т.е. все столбцы должны присутствовать в каждом). Если нет, вы можете вместо этого использовать rbind.fill из plyr.

Я бы также предположил, что table является более безопасной функцией для этой цели, чем summary.

person joran    schedule 07.06.2013