如何删除字符两边的文字?

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

如何转换一列以(0 y,0 m,23 d,0 y 0 m 8 d等表示的字符)(example of what I'm talking aboutanother example that has some single digit dates)转换为数字值(23、8等)?

r date tidyverse trim
2个回答
1
投票

假设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。


1
投票

您可以做:

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
© www.soinside.com 2019 - 2024. All rights reserved.