让 as.Date 只显示年份而不是自动包括今天的日期
Getting as.Date to show year only instead of automatically including today's date
当我尝试使用以年份作为字符的现有列创建 XTS 对象时,我的 xts 对象自动包含今天的日期,而不是我指定的仅包含年份。有没有办法只包含年份?
这是我的代码:
global_totals_ts <- xts(global_totals_m[,-1], as.Date(ts_index, format = "%Y"))
我得到的输出是:
Christians Muslims Hindus Agnostics Buddhists
1900-05-17 557754602 200318122 202973290 3028610 126956371
1910-05-17 611362430 222347113 223383337 3368564 138064000
1950-05-17 870653646 338066461 323138775 129261500 175510794
1970-05-17 1229448027 570772699 462980539 544290164 234957917
2000-05-17 1987502477 1292170756 822391937 660693376 452314303
2005-05-17 2130604801 1427056087 893077485 669224713 477436475
我想要以下输出:
Christians Muslims Hindus Agnostics Buddhists
1900 557754602 200318122 202973290 3028610 126956371
1910 611362430 222347113 223383337 3368564 138064000
1950 870653646 338066461 323138775 129261500 175510794
1970 1229448027 570772699 462980539 544290164 234957917
2000 1987502477 1292170756 822391937 660693376 452314303
2005 2130604801 1427056087 893077485 669224713 477436475
非常感谢!
日期对象总是有天(因为日期有天)。
一种替代方法是将其保留为日期,但按年份计算。然后日期始终是一年的第一天,因此,例如,group_by()
操作将按年完成。
library(lubridate)
global_totals_ts <- xts(global_totals_m[,-1], floor_date(as.Date(ts_index, format = "%Y"), "year"))
当我尝试使用以年份作为字符的现有列创建 XTS 对象时,我的 xts 对象自动包含今天的日期,而不是我指定的仅包含年份。有没有办法只包含年份?
这是我的代码:
global_totals_ts <- xts(global_totals_m[,-1], as.Date(ts_index, format = "%Y"))
我得到的输出是:
Christians Muslims Hindus Agnostics Buddhists
1900-05-17 557754602 200318122 202973290 3028610 126956371
1910-05-17 611362430 222347113 223383337 3368564 138064000
1950-05-17 870653646 338066461 323138775 129261500 175510794
1970-05-17 1229448027 570772699 462980539 544290164 234957917
2000-05-17 1987502477 1292170756 822391937 660693376 452314303
2005-05-17 2130604801 1427056087 893077485 669224713 477436475
我想要以下输出:
Christians Muslims Hindus Agnostics Buddhists
1900 557754602 200318122 202973290 3028610 126956371
1910 611362430 222347113 223383337 3368564 138064000
1950 870653646 338066461 323138775 129261500 175510794
1970 1229448027 570772699 462980539 544290164 234957917
2000 1987502477 1292170756 822391937 660693376 452314303
2005 2130604801 1427056087 893077485 669224713 477436475
非常感谢!
日期对象总是有天(因为日期有天)。
一种替代方法是将其保留为日期,但按年份计算。然后日期始终是一年的第一天,因此,例如,group_by()
操作将按年完成。
library(lubridate)
global_totals_ts <- xts(global_totals_m[,-1], floor_date(as.Date(ts_index, format = "%Y"), "year"))