我知道有很多类似的问题.但我不是一样的问!
我的问题是,我所看到的所有问题都是全年的生日,fx 04/05/1971(格式:%d /%m /%Y).
我的数据中的生日是丹麦的CPR号码(个人识别码),它们看起来像这样:
ID
1901912222
0110841111
0404143333
1602032444
Run Code Online (Sandbox Code Playgroud)
注意:这些日期就是例子.我有成千上万的行,它是所有年龄段的人,也超过100(但通常不超过17).
第1和第2个数字:出生日期第3个和第4个数字:出生月份第5个和第6个数字:出生年份最后4个=连续数字.
所以这给了我生日(和年龄):
ID birthdate age
1901912222 19/09/91 26
0110841111 01/10/84 33
0404143333 04/04/14 103
1602024444 16/02/02 15
Run Code Online (Sandbox Code Playgroud)
所以格式为:%d%m%y [4位数的连续数]
所以最后四位数(序号)也有一些信息.他们告诉这个人是3岁还是103岁(现在我没有这一年).有关说明,请参见图片:
我不知道是否有任何帮助,但我有Excel代码:
= YEAR(NOW()) - 1-IF(DATE(YEAR(NOW()); MID(D12; 3; 2); LEFT(D12; 2))<= NOW(); MID(D12; 5; 2 )+ IF(左(右(D12; 4); 1)*1 <= 3; 1900; IF(AND(LEFT(RIGHT(D12; 4); 1)*1 = 4; MID(D12; 5; 2 )*1 <= 36); 2000; IF(AND(LEFT(RIGHT(D12; 4); 1)*1 = 4; MID(D12; 5; 2)*1> = 37); 1900; IF(AND (左(右(D12; 4); 1)*1> …
假设我有以下数据:
dt <- data.frame(id=c(1,1,2,2,3,3,3,4,5,5,5,5,6,7,7),
rk=c("a","a","b","b","c","y","c","d","e","y","e","e","f","g","h"),
.id=c("df1", "df9", "df5", "df16", "df2", "df11", "df11", "df4", "df9", "df4", "df6", "df3", "df16", "df2", "df9"))
Run Code Online (Sandbox Code Playgroud)
所以我的数据看起来像这样:
id rk .id
1 a df1
1 a df9
2 b df5
2 b df16
3 c df2
3 y df11
3 c df11
4 d df4
5 e df9
5 y df4
5 e df6
5 e df3
6 f df16
7 g df2
7 h df9
Run Code Online (Sandbox Code Playgroud)
但我只想要一个每双行ID和RK.因此在示例中,id = 5可以有两行:一行rk = e,另一行rk …