Объединить кадры данных, добавив информацию о дате из имени файла - PullRequest
0 голосов
/ 03 июня 2018

У меня есть доступ к очищенным правительственным данным, которые имеют менее полезную структуру.Его 20 dfs, которые выглядят так:

enter image description here

Каждый df имеет имя по году, например, X2006.csv импортируется в объект фрейма данных X2006.Все они имеют строку Total и столбец total, о которых я расскажу позже.Теперь мой вопрос:

  • Как мне объединить эти dfs, добавив столбец с информацией о году из имени кадра данных?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Вместо использования цикла вы можете использовать do.call:

require(tidyverse)

#Creating sample data set - 10 data.frames
for (i in 1:9){
  assign(paste("x200", i, sep=""),
         data.frame(x = c(1:20)))
  }


#Creating the big data.frame
MyBigDataframe <- do.call(rbind.data.frame, mget(ls(pattern = "x20"))) %>% 
  rownames_to_column("file")
0 голосов
/ 03 июня 2018
startYear <- 1998
endYear <- 2017

myData <- data.frame()

require(plyr)

for (myYear in startYear:endYear){
    df <- get(paste0("X", as.character(myYear)))

    df$Year <- myYear

    myData <- rbind.fill(myData, df)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...