我有一个数据框,其中一列名为“开始”,日期格式为“m/d/yyyy”,我想用它来创建一个只有“m/yyyy”的新列。我在这里看过其他问题,但大多数问题都不遵循这种格式,解决方案也不适用。
下面是我的原始数据列标题的示例:
> head(data$Start)
[1] "3/6/2023" "3/6/2023" "3/6/2023" "3/6/2023" "1/17/2023" "1/9/2023"
我尝试使用以下代码添加一个只包含月份和年份的新列:
data$MthYr <- format(as.Date(data$Start), "%m/%Y")
这将返回:
> head(data$MthYr)
[1] "06/0003" "06/0003" "06/0003" "06/0003" NA "09/0001"
它看起来只是使用日作为月,月作为年,并添加前导零。如何修复此问题?
3条答案
按热度按时间oknrviil1#
使用
as.Date
中的格式进行转换。使用的默认格式为%Y-%m-%d
数据
v6ylcynt2#
另一种方法是使用
lubridate
sfloor_date()
9q78igpj3#
使用
sub