我的数据:c("202001", "202002")
。
它显示年和星期几。我需要将一周的第一天添加到我的数据中。
我如何得到它?
所需的输出:2020-01-06
和2020-01-13
。
代码应适用的原始数据
c(
"202001", "202002", "202003", "202004", "202005", "202006", "202007",
"202008", "202009", "202010", "202011", "202012", "202013", "202014",
"202015", "202016", "202017", "202018", "202019", "202020", "202021",
"202022", "202023", "202024", "202025", "202026", "202027", "202028",
"202029", "202030", "202031", "202032", "202033", "202034", "202035",
"202036", "202037", "202038", "202039", "202040", "202041", "202042",
"202043", "202044", "202045", "202046", "202047", "202048", "202049",
"202050", "202051", "202052", "202053", "202101", "202102", "202103")```
答案 0 :(得分:1)
您可以使用as.Date
并指定格式对base-r进行此操作。
美国惯例:一年中的星期作为十进制数字(00-53),使用星期日作为星期的第一天1(通常以一年中的第一个星期日作为星期几)第1周的1):%U
英国约定:一年中的星期作为十进制数字(00-53),以星期一作为一周的第一天(通常以该年的第一个星期一作为日历的第一天)第1周):%W
ISO 8601定义:一年中的星期,是ISO 8601中定义的十进制数字(01-53)。如果包含1月1日的星期(从星期一开始)有四个或更多新年中的天数,则将其视为第1周。否则,则是上一年的最后一周,下周是第1周:%V
被接受但在输入时被忽略。
请注意,还有一个基于周的年份(%G
和%g
)将与%V
一起使用,因为它可能与日历年(%Y
和{ {1}}。
%y
%u
我附加1以创建一个引用年份星期几的日期字符串,然后在调用%w
进行转换时使用strptime代码指定格式。
具有美国惯例的示例:
as.date
有关格式的更多信息,请参见: https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/strptime
答案 1 :(得分:0)
一种方法是像这样使用auth
包:
lubridate