如何转换一列以(0 y,0 m,23 d,0 y 0 m 8 d等表示的字符)(example of what I'm talking about,another example that has some single digit dates)转换为数字值(23、8等)?
假设y和m始终为0:
Oy.date.diff <- c("0 y, 0 m, 12 d", "0 y, 0 m, 13 d", "0 y, 0 m, 12 d", "0 y, 0 m, 15 d")
as.numeric(gsub(" d", "", gsub("0 y, 0 m, ", "", Oy.date.diff)))
# [1] 12 13 12 15
请注意,R不允许变量(或列)以数字开头,因此第一个字符为大写字母O。
您可以做:
library(lubridate)
day(period(c("0 y, 0 m, 12 d", "0 y, 0 m, 13 d", "0 y, 0 m, 12 d", "0 y, 0 m, 15 d") ))
[1] 12 13 12 15