我有一个输入月份的字符串,例如,十月是"10"
,十一月是"11"
。
我的第一个目标是在字符串中导出下一个月的数字,例如,如果字符串是"10"
,我的输出应该是"11"
。
mon_num <- "09"
as.character(match(month.abb[as.numeric(mon_num) + 1], month.abb))
字符串
我的第二个要求是字符串应该有两个字符。这意味着,如果输入字符串是"02"
,输出应该是"03"
。然而,上面的行产生"3"
。有没有办法派生"03"
而不是"3"
。
我的第二个问题是,如果输入是"12"
,输出是NA
。如何使它成为"01"
?
2条答案
按热度按时间ivqmmu1c1#
这里有一个函数来处理这个问题-
字符串
get_next_month(15)中的错误:月数应介于1和12之间
s4n0splo2#
虽然不像另一个答案那样完整,但这将在一行中工作:
字符串
Edit -用于处理vectors/data.frames的函数
如果添加新列的函数有用,这将a)用下一个月替换所有月份,B)过滤掉所有无效月份号(>12;警告)和c)安全地返回向量/新列。
型