R 将周数转换为日期将周数持续添加到今天';日期

R 将周数转换为日期将周数持续添加到今天';日期,r,as.date,R,As.date,对不起,这已经被问了很多次了,但是没有一个回复对我有效。我正在尝试使用as.date函数将周数转换为日期或理想的月份名称。然而,无论我在哪一周都会得到同样的结果,我就是不知道为什么。谢谢你的帮助 ```R as.Date(x = 03, format = "%W",origin = "2019-01-01") # This results in "2019-09-16" as.Date(x = 4, format = "%W",origin = "2019-01-01") # This res

对不起,这已经被问了很多次了,但是没有一个回复对我有效。我正在尝试使用as.date函数将周数转换为日期或理想的月份名称。然而,无论我在哪一周都会得到同样的结果,我就是不知道为什么。谢谢你的帮助

```R
as.Date(x = 03, format = "%W",origin = "2019-01-01")
# This results in "2019-09-16"

as.Date(x = 4, format = "%W",origin = "2019-01-01")
# This results in "2019-09-17"

as.Date(x = 12, format = "%w",origin = "2019-01-01")
# This results in "2019-09-25"

as.Date(x = 12, format = "%W",origin = "2018-01-01")
# This results in "2019-09-25"
```
即使我改变年份,它也会产生相同的产出。它似乎将今天(13日)添加到周数中。最令人沮丧的是,这是一个旧代码,从昨天起,它在帮助中一直工作得很好:“如果日期字符串没有完全指定日期,则返回的答案可能是系统特定的。最常见的行为是假设缺少的年、月或日是当前的。”

解决此问题的最简单方法是指定日期,然后转换:

 as.Date(x = paste(3, "0"), format = "%W %w")
[1] "2019-01-15"

 as.Date(x = paste(10, "0"), format = "%W %w")
[1] "2019-03-04"
如果从当前年份更改年份,还需要指定年份

as.Date(x = paste(10, "0 2018"), format = "%W %w %Y")
[1] "2018-03-04"

您可以将上述示例中的3或10替换为向量in。

预期结果将是对应于一周开始的一年的日期。例如,第12周将是2019-03-18非常感谢!这是有效的。虽然我不完全明白为什么会这样。