Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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_Vector_Zoo - Fatal编程技术网

R:为什么我的向量是无序的?

R:为什么我的向量是无序的?,r,vector,zoo,R,Vector,Zoo,假设我有这个动物园的向量 mine <- zoo(c(rep(0,4),rep(1,4),rep(0,5),rep(1,23),rep(0,4),rep(1,2)),as.chron(seq(1:42))) 它起作用了!。 但现在我试着用另一种方式去做 zz <- c(14, 5, 41) mine[zz] 01/06/70 01/15/70 02/11/70 1 1 1 zzzoo为什么这样做的答案是它有一个函数[([.zoo)的

假设我有这个动物园的向量

mine <- zoo(c(rep(0,4),rep(1,4),rep(0,5),rep(1,23),rep(0,4),rep(1,2)),as.chron(seq(1:42)))
它起作用了!。 但现在我试着用另一种方式去做

zz <- c(14, 5, 41)
mine[zz]

01/06/70 01/15/70 02/11/70 
       1        1        1 

zzzoo为什么这样做的答案是它有一个函数
[
[.zoo
)的方法,并且它从子集值创建一个新的zoo对象,逻辑上它希望对其进行重新排序,以使其成为有效的zoo对象

您可以通过相关的访问器功能访问时间索引和数据,从而实现所需的功能:

> index(mine)[c(14, 5, 41)]
[1] 01/15/70 01/06/70 02/11/70
> coredata(mine)[c(14, 5, 41)]
[1] 1 1 1
如果您想将此合并为一个步骤,请编写您自己的乐趣:

myExtract <- function(x, want) {
    out <- coredata(mine)[want]
    names(out) <- index(x)[want]
    out
}

zoo为什么这样做的答案是它有一个函数
[
[.zoo
)的方法,并且它从子集值创建一个新的zoo对象,逻辑上它希望对其进行重新排序,使其成为一个有效的zoo对象

您可以通过相关的访问器功能访问时间索引和数据,从而实现所需的功能:

> index(mine)[c(14, 5, 41)]
[1] 01/15/70 01/06/70 02/11/70
> coredata(mine)[c(14, 5, 41)]
[1] 1 1 1
如果您想将此合并为一个步骤,请编写您自己的乐趣:

myExtract <- function(x, want) {
    out <- coredata(mine)[want]
    names(out) <- index(x)[want]
    out
}

请尝试提供可复制的代码,此示例需要R中的zoo包和chron包,在未声明的环境中具有未指定的版本使用
rep
每个
参数避免重复调用,例如
rep(rep.int(0:1,3),每个=c(4,4,5,23,4,2))
。请尝试提供可复制的代码,此示例需要R中的zoo包和chron包,在未声明的环境中具有未指定版本使用
rep
每个
参数避免重复调用,例如,
rep(rep.int(0:1,3),每个=c(4,4,5,23,4,2))
。非常感谢。简单(但很重要)像这样的事情会导致代码失败非常感谢。像这样简单(但很重要)的事情会导致代码失败