Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 按月份排序zoo对象-顺序_R_Zoo - Fatal编程技术网

R 按月份排序zoo对象-顺序

R 按月份排序zoo对象-顺序,r,zoo,R,Zoo,我有一个如下所示的数据框: month SYMBOL val1 val2 val3 Jan/2017 A 3 4 6 Feb/2017 A 1 2 4 Mar/2017 A 2 5 3 Apr/2017 A 4 3 6 May/2017 A 6 2 8 Jan/2017 B 7 3 1 Feb/201

我有一个如下所示的数据框:

month        SYMBOL val1 val2 val3  
Jan/2017        A   3   4   6  
Feb/2017        A   1   2   4  
Mar/2017        A   2   5   3  
Apr/2017        A   4   3   6  
May/2017        A   6   2   8  
Jan/2017        B   7   3   1  
Feb/2017        B   3   7   3  
Mar/2017        B   1   3   6  
Apr/2017        B   7   2   8  
May/2017        B   9   7   2  
Jan/2017        C   0   8   6  
Feb/2017        C   1   3   9  
Mar/2017        C   3   3   1  
Apr/2017        C   4   1   5  
May/2017        C   6   7   1  
    SYMBOL val1 val2 val3  
Jan/2017    A   3   4   6  
Jan/2017    B   7   3   1    
Jan/2017    C   0   8   6  
Feb/2017    A   1   2   4  
Feb/2017    B   3   7   3  
Feb/2017    C   1   3   9  
Mar/2017    A   2   5   3  
Mar/2017    B   1   3   6       
Mar/2017    C   3   3   1   
Apr/2017    A   4   3   6     
Apr/2017    B   7   2   8     
Apr/2017    C   6   2   8     
May/2017    A   9   7   2  
May/2017    B   4   1   5   
May/2017    C   6   7   1  
当我将其转换为索引为yearmon的zoo对象时,“符号”列的变化如下:

month        SYMBOL val1 val2 val3  
Jan/2017        A   3   4   6  
Feb/2017        A   1   2   4  
Mar/2017        A   2   5   3  
Apr/2017        A   4   3   6  
May/2017        A   6   2   8  
Jan/2017        B   7   3   1  
Feb/2017        B   3   7   3  
Mar/2017        B   1   3   6  
Apr/2017        B   7   2   8  
May/2017        B   9   7   2  
Jan/2017        C   0   8   6  
Feb/2017        C   1   3   9  
Mar/2017        C   3   3   1  
Apr/2017        C   4   1   5  
May/2017        C   6   7   1  
    SYMBOL val1 val2 val3  
Jan/2017    A   3   4   6  
Jan/2017    B   7   3   1    
Jan/2017    C   0   8   6  
Feb/2017    A   1   2   4  
Feb/2017    B   3   7   3  
Feb/2017    C   1   3   9  
Mar/2017    A   2   5   3  
Mar/2017    B   1   3   6       
Mar/2017    C   3   3   1   
Apr/2017    A   4   3   6     
Apr/2017    B   7   2   8     
Apr/2017    C   6   2   8     
May/2017    A   9   7   2  
May/2017    B   4   1   5   
May/2017    C   6   7   1  

在创建一个动物园对象时,有没有一种方法可以按顺序排列年份,从而使符号保持AAA、BBB、CCC,而不是扭曲?zoo不可避免地将其更改为1-1-2-2-FEB,而不是符号A的1-5,符号B的1-5等等。

zoo对象是一个时间序列,特别是时间序列具有有序的观测。如果您想表示一个不是时间序列的对象,那么要么不要使用zoo,要么以某种方式将其重新处理为时间序列

1多变量时间序列尽管下文注释中的数据不是时间序列,但通过在第二个输入列上拆分数据,可以将其表示为多变量时间序列:

library(zoo)
z <- read.zoo(text = Lines, split = 2, FUN = as.yearmon, format = "%b/%Y", header = TRUE)
2通过多个时间序列的列表,也可以将其表示为动物园对象的列表:

DF <- read.table(text = Lines, header = TRUE)
byz <- by(DF[-2], DF[2], function(x) read.zoo(x, FUN = as.yearmon, format = "%b/%Y"))
3合成索引操纵这样一个对象可能很困难,但为了涵盖所有可能性,可以从符号和月份列合成一个新索引,以创建一个具有如下字符索引的动物园系列

myindex <- function(sym, mon) paste(sym, format(as.yearmon(mon, "%b/%Y"), "%Y-%m"))
z2 <- read.zoo(text = Lines, index = 2:1, FUN = myindex, header = TRUE)
注:可复制形式的输入为:

Lines <- "month SYMBOL val1 val2 val3
Jan/2017 A 3 4 6
Feb/2017 A 1 2 4
Mar/2017 A 2 5 3
Apr/2017 A 4 3 6
May/2017 A 6 2 8
Jan/2017 B 7 3 1
Feb/2017 B 3 7 3
Mar/2017 B 1 3 6
Apr/2017 B 7 2 8
May/2017 B 9 7 2
Jan/2017 C 0 8 6
Feb/2017 C 1 3 9
Mar/2017 C 3 3 1
Apr/2017 C 4 1 5
May/2017 C 6 7 1"

你的代码是什么?
Lines <- "month SYMBOL val1 val2 val3
Jan/2017 A 3 4 6
Feb/2017 A 1 2 4
Mar/2017 A 2 5 3
Apr/2017 A 4 3 6
May/2017 A 6 2 8
Jan/2017 B 7 3 1
Feb/2017 B 3 7 3
Mar/2017 B 1 3 6
Apr/2017 B 7 2 8
May/2017 B 9 7 2
Jan/2017 C 0 8 6
Feb/2017 C 1 3 9
Mar/2017 C 3 3 1
Apr/2017 C 4 1 5
May/2017 C 6 7 1"