q**j 发帖数: 10612 | 1 请问R里面处理时间的package是哪个?
很简单的工作,就是把时间曾加,减少一年,一个月, etc。多谢。
比如,如何把01、01、2008变成01、31、2008?或者变成02、01、2008
另外我有个变量i,需要用i的value来建立新的vector。比如i=5时,我想建立变量dummy5。请问如何写? | s*****n 发帖数: 2174 | 2 第一个问题: ?date, ?Date
比如
> today <- Sys.Date()
> print(today)
[1] "2008-11-20"
> print(today + 1)
[1] "2008-11-21"
> print(today + 365)
[1] "2009-11-20"
> print(today - as.Date("2008-01-01"))
Time difference of 324 days
> print(as.numeric(today - as.Date("2008-01-01")))
第二个问题:
如果你的dummy variable 都是同样长度的, 最好的办法是用一个矩阵储存这些dummy
variable. 而矩阵的列name, 可以设为 paste("dummy", i, sep="")
如果你的dummy variable 不一定是同长度, 那么只能用list来储存, list的每一个元
素, 是一个dummy variable, 名字是"dummyi", 比如下面的script
variablelist <- list()
f | q**j 发帖数: 10612 | 3 多谢。我明儿再看吧。股票跌的想吐。今天就歇歇吧。
【在 s*****n 的大作中提到】 : 第一个问题: ?date, ?Date : 比如 : > today <- Sys.Date() : > print(today) : [1] "2008-11-20" : > print(today + 1) : [1] "2008-11-21" : > print(today + 365) : [1] "2009-11-20" : > print(today - as.Date("2008-01-01"))
| q**j 发帖数: 10612 | 4 感谢回答。第二个问题 基本解决。多谢了。
但是第一个没有完全解决。每个月天数不一样。
好比一月20号加30天是二月19号。
二月20号加30天是三月22号。
有没有办法能够准确地从一个月末移到下个月末?
【在 s*****n 的大作中提到】 : 第一个问题: ?date, ?Date : 比如 : > today <- Sys.Date() : > print(today) : [1] "2008-11-20" : > print(today + 1) : [1] "2008-11-21" : > print(today + 365) : [1] "2009-11-20" : > print(today - as.Date("2008-01-01"))
| s*****n 发帖数: 2174 | 5 应该没有明确的函数可以做月末的循环, 只能通过trick.
比如月初的循环应该很容易
seq(from=as.Date("2008-01-01"), by="1 month", length=24)
月末可以通过 -1 得到
seq(from=as.Date("2008-01-01"), by="1 month", length=24) - 1
再比如当前时间附近的几个月初月末
当前日期
today <- Sys.Date()
本月初
monthstart <- as.Date(format(today, "%Y-%m-01"))
下月初
seq(from=monthstart, by="1 month", length=2)[2]
本月末
seq(from=monthstart, by="1 month", length=2)[2] - 1
上月末
monthstart-1 | q**j 发帖数: 10612 | 6 你简直是太nice了!学R就靠大家了。有SAS问题可以问我。
【在 s*****n 的大作中提到】 : 应该没有明确的函数可以做月末的循环, 只能通过trick. : 比如月初的循环应该很容易 : seq(from=as.Date("2008-01-01"), by="1 month", length=24) : 月末可以通过 -1 得到 : seq(from=as.Date("2008-01-01"), by="1 month", length=24) - 1 : 再比如当前时间附近的几个月初月末 : 当前日期 : today <- Sys.Date() : 本月初 : monthstart <- as.Date(format(today, "%Y-%m-01"))
|
|