Преобразование года из двухзначного символа в только год - PullRequest
0 голосов
/ 11 июня 2019

Использование R

Получены большие клинические данные о состоянии здоровья, но даты странные

Наиболее проблематичным является 2digityear/halfyear, как в 98/2, что означает в некоторый момент в 1998 после July 1

Я разделил столбец на 2 символьных столбца, например, 98 и 2, но теперь необходимо преобразовать строку символов года 2 цифр в фактический год.

Я пытался as.Date(data$variable,format="%Y"), но я не только получил преобразование в 0098 как год, а не 1998, я также произвольно добавил сегодняшние месяц и год (фактические данные не имеют ни месяца, ни дня)).

как в 0098-06-11

Как мне получить вместо 1998 только?

1 Ответ

1 голос
/ 11 июня 2019

Не элегантно.Но используя комбинацию lubridate и as. Дату вы можете получить.

library(lubridate)
data <- data.frame(variable = c(95, 96, 97,98,99), date=c(1,2,3,4,5))
data$variableUpdated <- year(as.Date(as.character(data$variable), format="%y"))

и только с базой R

data$variableUpdated <- format(as.Date(as.character(data$variable), format="%y"),"%Y")
...