Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:从每日数据到每月数据_R_Time Series_Xts - Fatal编程技术网

R:从每日数据到每月数据

R:从每日数据到每月数据,r,time-series,xts,R,Time Series,Xts,我有一个大的xts对象,有多个变量。该指数是以这种方式每天进行的,它对应于确切的天数,但是每个变量在一个月内只有一次观察。有没有办法从指数中去掉一天,只保留一年一个月 举例来说,为了说明我的问题,我在2011年6月28日观察到var1,在2011年6月30日观察到var2。我想把两者都列为2011-06年的索引 谢谢您可能可以这样做: 使用gsub(将模式替换为您想要的任何内容)和regex(定义搜索模式的字符序列,例如字符串)。 这个模式是用regex完成的,它有很多元字符,可以让你做更高级的

我有一个大的xts对象,有多个变量。该指数是以这种方式每天进行的,它对应于确切的天数,但是每个变量在一个月内只有一次观察。有没有办法从指数中去掉一天,只保留一年一个月

举例来说,为了说明我的问题,我在2011年6月28日观察到var1,在2011年6月30日观察到var2。我想把两者都列为2011-06年的索引

谢谢

您可能可以这样做: 使用gsub(将模式替换为您想要的任何内容)和regex(定义搜索模式的字符序列,例如字符串)。 这个模式是用regex完成的,它有很多元字符,可以让你做更高级的事情。点(.)是一个通配符,$将其固定在后面。因此,模式基本上是结尾前的任意3个字符,并用零替换它们

your_object<-c("2011-06-28","2011-06-30")
gsub(pattern = "...$", replace = "", x = your_object)
您的_对象您可能可以这样做:
使用gsub(将模式替换为您想要的任何内容)和regex(定义搜索模式的字符序列,例如字符串)。
这个模式是用regex完成的,它有很多元字符,可以让你做更高级的事情。点(.)是一个通配符,$将其固定在后面。因此,模式基本上是结尾前的任意3个字符,并用零替换它们

your_object<-c("2011-06-28","2011-06-30")
gsub(pattern = "...$", replace = "", x = your_object)
您的\u对象或者,您可以通过
as.Date()
函数“告诉”R您正在使用某种格式的日期,然后使用
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) 
dates=c(“2011-06-28”、“2011-06-29”、“2011-06-30”、“2011-07-1”)#以原始格式显示日期的测试字符串
dates2或者,您可以通过
as.Date()
函数“告诉”R您正在使用某一格式的日期,然后使用
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) 
dates=c(“2011-06-28”、“2011-06-29”、“2011-06-30”、“2011-07-1”)#以原始格式显示日期的测试字符串

dates2欢迎使用stack overflow:如果您将您的问题标题编辑为其他人在谷歌搜索时很容易找到的内容,可能会更好。例如,“如何将R中xts对象中的每日数据更改为每月数据?”欢迎使用stack overflow:如果您将您的问题标题编辑为其他人在谷歌搜索时很容易找到的内容,可能会更好。例如,“如何在R中的xts对象中将每日数据更改为每月数据?”谢谢,但对我来说,这只是部分工作。它确实减少了日子,但也让人觉得很有个性。当我尝试在之后使用As.Date()时,它返回NA值。我不明白为什么?它不起作用,因为as.Date()不接受“%Y-%m”作为可接受的日期格式(例如,它需要一天)。如果您仍然想使用它进行smth,可以尝试使用zoo包中的as.factor()或as.yearmon()(可能更好)。顺便说一句,如果你只想更改你的xts索引,我已经编辑了我关于如何做的原始帖子。谢谢,克里斯!谢谢,不过对我来说,这只是部分有效。它确实减少了日子,但也让人觉得很有个性。当我尝试在之后使用As.Date()时,它返回NA值。我不明白为什么?它不起作用,因为as.Date()不接受“%Y-%m”作为可接受的日期格式(例如,它需要一天)。如果您仍然想使用它进行smth,可以尝试使用zoo包中的as.factor()或as.yearmon()(可能更好)。顺便说一句,如果你只想更改你的xts索引,我已经编辑了我关于如何做的原始帖子。谢谢,克里斯!