我需要一个包含一周的天经常一个载体,但我总是键入出来:如何创建一个包含星期几的矢量?
days.of.week <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
这是很容易的,因为它是短暂的,但总有错别字的可能性。有没有办法通过编程创建一个包含星期几的矢量?
我需要一个包含一周的天经常一个载体,但我总是键入出来:如何创建一个包含星期几的矢量?
days.of.week <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
这是很容易的,因为它是短暂的,但总有错别字的可能性。有没有办法通过编程创建一个包含星期几的矢量?
你去那里,平日的载体“星期一”,......,“星期天”:
days.of.week <- weekdays(x=as.Date(seq(7), origin="1950-01-01"))
一种可能性:
days.of.week <- weekdays(Sys.Date()+0:6)
总是从星期一开始:
days.of.week <- weekdays(as.Date(4,"1970-01-01",tz="GMT")+0:6)
或者你可以把它定义为你,但在你的.Rprofile
,所以它总是可以在启动时。
这个矢量会根据你运行的这一天改变吗? – outis 2013-04-24 13:47:55
订单会发生变化,它始终始于今天的一周中的某一天。 – 2013-04-24 13:49:20
是的,如果您需要它,只需将开始日期更改为总是星期一。 – 2013-04-24 13:49:33
虽然基于函数的答案是光滑的,约书亚的最后的评论是点上。如果您有定期使用的变量,请在.Rprofile
中创建它,或从.Rdata
文件加载它,使用.Rprofile
中的某行(如load('daysofweek.rdata')
)。
请注意,更改一周的第一天是那样简单
neworder <- days.of.week[c(2:7,1)]
基于今天的日期,我们还可以找到一个星期的日子
weekdays(as.Date(seq(7),origin=Sys.Date() - as.POSIXlt(Sys.Date())$wday))
[1] "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
[7] "Sunday"
这样做的一个很好的属性使用R函数是它考虑了语言环境,例如法语平日在法语区域。 – 2013-04-24 13:52:05