【问题标题】:how to remove certain digits of a numeric variable in r如何删除r中数字变量的某些数字
【发布时间】:2020-04-07 16:44:00
【问题描述】:

我创建了df1

  year gvkey      ipo
1 1996  1004 19880101
2 1997  1004 19880101
3 1998  1004 19880101
4 1999  1004 19880101
5 2000  1004 19880101
6 2001  1004 19880101
....


year = numeric

gvkey (id) = numeric

ipo = numeric

我想把df1改成这样,这样我就可以计算出公司的年龄了:

  year gvkey ipo
1 1996  1004 1988
2 1997  1004 1988
3 1998  1004 1988
4 1999  1004 1988
5 2000  1004 1988
6 2001  1004 1988
...

我发现有人从character 变量中删除了某些部分。我试图将ipo 更改为character,但随后我的df1 变成了一个值,当我再次尝试将值更改为数据框时,其他变量yeargvkey 消失了。

是否也可以只删除数字变量的某些数字?

非常感谢!!!

【问题讨论】:

    标签: r variables transform numeric


    【解决方案1】:

    另一个选项是sub

    df1$ipo <- as.numeric(sub('^(....).*', '\\1', df1$ipo))
    

    【讨论】:

      【解决方案2】:
      df1 %>%
        mutate(ipo = as.numeric(substr(ipo, 1, 4)))
      
        year gvkey  ipo
      1 1996  1004 1988
      2 1997  1004 1988
      3 1998  1004 1988
      4 1999  1004 1988
      5 2000  1004 1988
      6 2001  1004 1988
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-05
        • 2018-08-08
        • 1970-01-01
        • 2013-02-16
        • 2023-03-11
        • 2021-12-28
        • 2017-07-24
        • 1970-01-01
        相关资源
        最近更新 更多