在R中添加带有日期的动态列数

在R中添加带有日期的动态列数,r,R,我想从2013年12月30日(一个星期一)开始作为列标题,并为每周添加一个新列,直到最近的一个星期一(这个日期是动态的,不断变化(添加)) 我在VBA中这样做的方式是“直到”,然后检查之前的日期+7是否

我想从2013年12月30日(一个星期一)开始作为列标题,并为每周添加一个新列,直到最近的一个星期一(这个日期是动态的,不断变化(添加))

我在VBA中这样做的方式是“直到”,然后检查之前的日期+7是否
谢谢大家

@Frank帮我弄明白了,谢谢Frank

my_mondays = seq(as.Date("2013-12-30"), Sys.Date(), by=7)
DF = data.frame(my_mondays)
DF <- t(DF)
colnames(DF) <- DF
DF2 = merge(DF2, DF)
my_mondays=seq(截止日期(“2013-12-30”),系统日期(),by=7)
DF=data.frame(我的周一)

DF
my_mondays=seq(截至日期(“2013-12-30”),Sys.Date(),by=7)
。无论您的数据是什么,最好将其保存为长格式,而不是将日期打印为列名。如果您确实需要执行后一种操作,比如,从
DF=data.frame(mon=rep(my_mondays,each=7),d=1:7,v=3)
开始,然后只需将形状改宽,例如使用
库(重塑2);dcast(DF,mon~d)
@Frank,你真是个天才。我需要一些时间来理解这个方法,但与此同时,你能告诉我“重塑2”在哪个包中吗?重塑2是这个包的名称(我知道这个名字很奇怪)。它的核心功能是
dcast,可以广泛使用,而melt可以长期使用。data.table包中提供了具有相同名称和功能的函数,我建议使用该包,因为同一作者tidyr(一个更奇怪的名字)不赞成使用Reforme2,而支持使用新包。@Frank,那么我会将代码更新为这个吗<代码>库(data.table);dcast(DF,mon~d)?正在尝试上载包,但不断收到此错误:错误:依赖项“chron”不适用于包“data.table”。我真的很感谢你的帮助!是的,我认为这很有效。可能需要执行
库(data.table);setDT(DF);dcast(DF,mon~d)
。不过,请注意,切换到data.table并不意味着爬升学习曲线,因为data.table会改变DF[i,j]的行为方式。如果您现在没有时间学习它(我想是几个小时),那么最好使用Reforme2并稍后切换到data.table。介绍材料在这里:哦,刚刚看到你的编辑——我想你需要
安装.packages(“chron”)
然后。。。不确定。