【发布时间】:2017-10-25 17:56:04
【问题描述】:
我的很多工作都涉及将新数据集与旧数据集合并,但我在主数据集中拥有的标准化“日期”名称通常与新原始数据中的日期名称不匹配(可能是“日期” 、“日”、“时间.时期”等...)。为了让生活更轻松,我想创建一个自定义函数:
- 检测新旧数据集中的日期列
- 将列名标准化为“日期”(通常原始新数据会与名为“日期”或“日”或“时间段”等的日期列一起出现。)
这里有几个数据集可供使用:
Dates_A <- seq(from = as.Date("2017-01-01"), to = as.Date("2017-12-31"), by = "day")
Dates_B <- seq(from = as.Date("2017-01-01"), to = as.Date("2017-12-31"), by = "day")
Numbers <- rnorm(365)
df_a <- data.frame(Dates_A, Numbers)
df_b <- data.frame(Dates_B, Numbers)
我的第一个倾向是尝试一个 for 循环,该循环按索引搜索列的类,并自动将 Class = Date 重命名为“日期”,但理想情况下,我也希望使用该函数来解决示例下面,其中日期列的类可以是字符或因子。
Dates_C <- as.character(Dates_B)
df_c <- data.frame(Dates_C, Numbers)
df_d <- data.frame(Dates_C, Numbers, stringsAsFactors = FALSE)
如果您有任何想法或可以为我指明正确的方向,我将不胜感激!
【问题讨论】: