如何删除r中数字变量的某些数字

问题描述 投票:2回答:2

我创建了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
2个回答
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

1
投票
另一个选项是sub

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

© www.soinside.com 2019 - 2024. All rights reserved.