【问题标题】:Dummy variable for year in RR中年份的虚拟变量
【发布时间】:2018-10-01 01:46:33
【问题描述】:

所以我的数据集包含 7 个变量,其中一个是从 2004 年到 2008 年的日期,我想为 2008 年创建一个虚拟变量。具体来说,我想知道 2008 年之前和之后发生了什么并有水平0 和 1,但我不知道如何在 R 中管理它。

str(data)
'data.frame':   56 obs. of  8 variables:
 $ Date     : Factor w/ 56 levels "1/1/2005","1/1/2006",..: 17 22 27 32 37 42 47 52 5 9 ...
 $ LB       : num  86.7 82.9 73.4 75.7 75.2 ...
 $ CAC40    : num  3730 3625 3678 3671 3732 ...
 $ DAX      : num  4018 3857 3978 3921 4065 ...
 $ DOW      : num  10588 10355 10234 10204 10437 ...
 $ EURUSD   : num  1.25 1.23 1.2 1.22 1.22 ...
 $ BRENT    : num  32.2 32.8 34.5 36.6 34.5 ...

【问题讨论】:

  • 你不一定需要一个新列,你可以简单地使用df$some_col[df$year < 2008]进行子集化。
  • data$year <- as.numeric(sub(".*/", "", data$Date))
  • 这很完美!谢谢你的帮助!

标签: r variables dummy-variable dummy-data


【解决方案1】:

如果你的数据是一个数据框,你可以创建一个虚拟变量来做

 data$dummyYear <- as.numeric(data$year < 2008)

这个新变量的值 1 表示 2004:2007 年,0 表示 2008 年

【讨论】:

    【解决方案2】:

    你可以试试dplyr中的filter函数。

    filter(Data, data$Date< 2008 )
    

    如果您能提供可重现的代码,那就太好了。

    【讨论】:

    • 我已经尝试了代码,我收到了这个警告:警告消息:在 Ops.factor(data$Date, 2008) 中:'
    • 这不是正确的语法。改用filter(Data, Date&lt; 2008 )
    • 语法很好,你可以使用其中任何一个。我提到它是为了便于理解,日期是他/她所引用的数据中的一列。两者都是正确的
    猜你喜欢
    • 2015-01-24
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2016-12-08
    • 2021-12-31
    • 2018-01-20
    • 1970-01-01
    相关资源
    最近更新 更多