【发布时间】:2018-10-18 20:30:35
【问题描述】:
我有一个 CSV 文件,它有两列名称和编号,这个 CSV 每天都会生成,我想要的是有一个变量并将我每天得到的数据附加到这个变量中,并带有当前日期以用于记录目的。 需要将此过程作为日常任务自动化。 我所做的如下。
假设这是第一个数据
name number
1 a 1
2 b 2
3 c 3
4 d 4
5 e 5
6 f 6
以这种方式将日期添加到此数据中
df <- cbind(df,Date = march8) //march8 has date of this day
添加日期后
name number Date
1 a 1 2018-05-08
2 b 2 2018-05-08
3 c 3 2018-05-08
4 d 4 2018-05-08
5 e 5 2018-05-08
6 f 6 2018-05-08
现在我想将当前日期的另一个数据附加到该数据中
我的新数据
name number
1 l 3
2 c 4
3 a 5
4 c 6
5 d 4
6 g 2
再次添加日期。
df1 <- cbind(df1,Date = Sys.Date())
添加日期后
name number Date
1 l 3 2018-05-09
2 c 4 2018-05-09
3 a 5 2018-05-09
4 c 6 2018-05-09
5 d 4 2018-05-09
6 g 2 2018-05-09
最后
df <- rbind(df,df1)
合并后
name number Date
1 a 1 2018-05-08
2 b 2 2018-05-08
3 c 3 2018-05-08
4 d 4 2018-05-08
5 e 5 2018-05-08
6 f 6 2018-05-08
7 l 3 2018-05-09
8 c 4 2018-05-09
9 a 5 2018-05-09
10 c 6 2018-05-09
11 d 4 2018-05-09
12 g 2 2018-05-09
每天都这样做,有没有更好的方法来自动化整个过程。 希望我的问题清晰易懂,很抱歉发布这么长的问题。
谢谢。
【问题讨论】:
-
我不确定您要实现的自动化程度更高,因为这似乎每天只需要运行几行代码。但是对于新的日子,您可以先运行
df <- rbind(df,df1),然后用df$Date <- ifelse(is.na(df$Date),Sys.Date(),df$Date)替换缺失的日期值。但是,这不会以任何方式缩短您的代码。 -
rbind 如何在不先添加日期的情况下工作,列数将与 df 和 df1 不匹配,并且会产生错误。