【发布时间】:2020-12-14 14:03:45
【问题描述】:
我有一个带有句点长度的字符串列,格式为"xx years yy months"。我只想以月表示这些时期,即 12 * 年数 + 月数。
一个小例子:
x = c("2 years 5 months", "10 years 10 months")
这里想要的结果分别是2 * 12 + 5 = 29 和10 * 12 + 10 = 130。
我尝试了substr 函数,但我无法处理月份和年份可能是一位数或两位数的事实。
12 * as.numeric(substr(x, 1, 2)) + as.numeric(substr(x, 6, 7)))
然后我尝试了如下sprintf,但它没有给出预期的结果。
sprintf("%1.0f", x))
【问题讨论】: