替换 R 列中的部分日期

Replacing part of date in R column

在 R 中有一些用其他值替换数据帧的单个向量中的值的示例。例如 Replace a value in a data frame based on a conditional (`if`) statement in R& Replace numbers in data frame column in R?

我的问题略有不同,一个数据框(运动员)在 DOB 年份有一些错误,我想通过这个并将年份为 00yy-mm-dd 的所有实例替换为 19yy- mm-dd

我尝试 athletes$DOB[athletes$DOB == 00] 最初对值进行子集化,但没有成功

              Name                    Country Height Weight Sex        DOB Gold Silver Bronze
1         Lamusi A People's Republic of China    170     60   M 0089-06-02    0      0      0
2       A G Kruger   United States of America    193    125   M 1979-02-18    0      0      0
3   Jamale Aarrass                     France    187     76   M 1981-11-15    0      0      0
4 Abdelhak Aatakni                    Morocco     NA     NA   M 0088-02-09    0      0      0
5  Maria Abakumova         Russian Federation    178     85   F 1986-01-15    0      0      0
6        Luc Abalo                     France    182     80   M 0084-09-06    0      0      0

尝试sub

athletes$DOB <- as.Date(sub('^0{2}', '19', athletes$DOB))
athletes$DOB
#[1] "1989-06-02" "1979-02-18" "1981-11-15" "1988-02-09" "1986-01-15"
#[6] "1984-09-06"