超出命名(带有年份)行的值

时间:2018-01-27 10:21:29

标签: r

这是我的代码:

num <- as.matrix(1:10)
rownames(num) <- c(2001:2010)
num["2005",]

这很有效。为什么num["2005":"2007",]不起作用?我想要从命名行2005到2007的值。我知道它适用于ts对象,但有时我必须控制我的系列,然后当行按年命名时更舒服。提前谢谢!

1 个答案:

答案 0 :(得分:1)

问题出在"2005":"2007"。 R在内部将其转换为整数,然后从中构建数组:

> typeof("2005":"2007")
[1] "integer"

因此您可以将其转换为字符:

> num[as.character("2005":"2007"), ]
2005 2006 2007 
   5    6    7