【问题标题】:create new variable based on year for time series [duplicate]根据时间序列的年份创建新变量[重复]
【发布时间】:2019-12-09 09:43:41
【问题描述】:
gvkey = id
data = dataframe
data$t <- NA;
data[data$year = 2005, "t"] <- 1
data[data$year = 2006, "t"] <- 2
data[data$year = 2007, "t"] <- 3
data[data$year = 2008, "t"] <- 4
data[data$year = 2009, "t"] <- 5
data[data$year = 2010, "t"] <- 6

我想创建变量“t”:

gvkey    year     t
1004     2005     1
1004     2006     2
1004     2007     3
1004     2008     4
1004     2009     5
1004     2010     6
1013     2005     1
1013     2006     2
1013     2007     3
1013     2008     4
1013     2009     5
1013     2010     6
.....

不知何故我的代码不起作用。你知道为什么吗?

有没有更有效的方法来运行这段代码?

我是 R 新手,非常感谢您的帮助。

感兴趣的列

【问题讨论】:

  • 替换值背后有什么逻辑吗?
  • 我添加了一些额外的行来展示它背后的逻辑
  • 感谢您提供更多信息。查看我编辑的解决方案
  • data$t &lt;- match(data$year, unique(data$year))
  • @ThomasIsCoding 谢谢!那很快:)

标签: r time-series panel


【解决方案1】:

也许你可以试试

data$t <- data$year - min(data$year) + 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    相关资源
    最近更新 更多