簡體   English   中英

R:每日數據到每月

[英]R: Daily data to monthly

我有一個大 xts object,有多個變量。 該指數以這種方式每天顯示,它對應於確切的日期,但是每個變量在一個月內只有一個觀察值。 有沒有辦法從索引中刪除日期並只保留年月?

例如,為了說明我的問題,我在 2011 年 6 月 28 日觀察到 var1,在 2011 年 6 月 30 日觀察到 var2。 我想將兩者都索引為 2011-06

謝謝

您可能可以這樣做:使用 gsub(用您想要的任何內容替換模式)和正則表達式(在例如字符串中定義搜索模式的字符序列)。 該模式是用正則表達式完成的,它有很多元字符,可以讓你做更高級的事情。 點 (.) 是通配符,$ 將其錨定在后面。 所以模式基本上是結束前的任何 3 個字符,並且什么都不替換它們。

your_object<-c("2011-06-28","2011-06-30")
gsub(pattern = "...$", replace = "", x = your_object)

這是使用 gsub 和正則表達式的指南( http://uc-r.github.io/regex )。

或者,您可以“告訴” R 您正在使用帶有as.Date() function 的特定格式的日期,然后使用format()將其更改為您想要的格式。 像這樣:

dates=c("2011-06-28","2011-06-29","2011-06-30","2011-07-1") #test string with dates in original format

dates2 <- format(as.Date(dates,"%Y-%m-%d"), format="%Y-%m") #changing the "%Y-%m-%d" format to  the desired "%Y-%m"

print(dates2) 

編輯:如果您只想更改 xts 的索引: indexFormat(xts_object) <- "%Y-%m"

干杯克里斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM