【发布时间】:2019-06-28 15:06:49
【问题描述】:
我需要从某个日期 t1 开始创建 12 个变量,每个变量增加 3 个月。
这是一个例子:
t1 t2 t3
01-01-2000 01-04-2000 01-07-2000
我尝试过这样的事情(包lubridate):
for (i in 1:12) {
month(AAA$t(i+1)) <- month(AAA$t(i)) + 3 }
但我得到:
as.POSIXlt(x) 中的错误:尝试应用非函数
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。那个样本应该是
AAA,那是一个data.frame吗?它只有三列,但您希望它有 12 列? -
AAA 是一个数据框。有一列 t1(上课日期),我需要从 t1 到 t12 有 12 列。如果t1的第一条记录是01-01-2000,那么t2的第一条记录应该是01-04-2000,t3的第一条记录应该是01-07-2000等等
-
试试
month(AAA$t(i+1)),而不是month(AAA[paste("t",i+1,sep="")])。