我在R阅读csv的第一个功能

时间:2018-04-11 14:14:14

标签: r function

我已经知道如果你要一遍又一遍地重复同样的事情,那么编写一个函数是明智的。直到现在我还没有自己写一篇文章就走了很长的路。到目前为止,R包的生态系统及其功能对我很有帮助。

我试图做以下事情。 q1_2018_raw变量将被替换为2010年至2018年的多个季度,q1_2010_rawq1_2018_raw。唯一会改变的是read_csv()中的文件和add_column()中的值。其余的保持不变。

然后我想将所有数据框与rbind()绑定在一起。

library(tidyverse)

q1_2018_raw <- read_csv("geluidshinder/bas_meldingen_csv/tabula-bijlage_q1-2018.csv",
                        col_names = c("cluster", "woonplaats", 
                                      "sm_nov", "sm_dec", "sm_jan",
                                      "pm_nov", "pm_dec", "pm_jan",
                                      "am_nov", "am_dec", "am_jan",
                                      "totaal", "snachts", "melders")) %>%
  add_column(kwartaal = "q1_2018", .before = T)

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,这应该有效。

csv是保存csv的变量,path是csv所在的路径,column.name是add_column中的值。

customcsvreader <- function(csv, path, column.name){
  csv <- read_csv(path,
                  col_names = c("cluster", "woonplaats", 
                                "sm_nov", "sm_dec", "sm_jan",
                                "pm_nov", "pm_dec", "pm_jan",
                                "am_nov", "am_dec", "am_jan",
                                "totaal", "snachts", "melders")) %>%
  add_column(kwartaal= column.name, .before=T))
}

示例:

customcsvreader(q1_2018_raw, "geluidshinder/bas_meldingen_csv/tabula-bijlage_q1-2018.csv", "q1_2018")