R 如何将xts对象的一行子集为命名向量?

R 如何将xts对象的一行子集为命名向量?,r,subset,xts,zoo,R,Subset,Xts,Zoo,我不知道如何从xts对象中子集一行,并得到一个命名向量的结果。这里有一个例子。制作一个玩具xts对象: x <- c("a","b","c") z <- as.data.frame(matrix(data = c(1,2,3,4,5,6,7,8,9), nrow = 3)) colnames(z) <- x z_xts <- xts(z, order.by = as.Date(17897:17899)) 我想对z_xts第2行的a列和b列进行子集划分,例如: sub_z

我不知道如何从xts对象中子集一行,并得到一个命名向量的结果。这里有一个例子。制作一个玩具xts对象:

x <- c("a","b","c")
z <- as.data.frame(matrix(data = c(1,2,3,4,5,6,7,8,9), nrow = 3))
colnames(z) <- x
z_xts <- xts(z, order.by = as.Date(17897:17899))
我想对z_xts第2行的a列和b列进行子集划分,例如:

sub_z <- z_xts[2, ][1, c("a","b”)]
谁是“xts”班的“动物园”。但是,我想要一个numeric类的命名向量。我已经尝试了所有方法,我能得到的最接近的方法是:

sub_z <- as.numeric(coredata(z_xts[2, ][1, c("a","b")]))
类“numeric”,但它已丢失列名。我真正想要的是:

a b 
2 5
你是怎么做到的呢???这个怎么样

cols <- c("a", "b")
v <- setNames(as.numeric(z_xts[2, cols]), cols)
v
#a b
#2 5

完美的我缺少setNames(),而且使用coredata和as.numeric是多余的。谢谢
[1] 2 5
a b 
2 5
cols <- c("a", "b")
v <- setNames(as.numeric(z_xts[2, cols]), cols)
v
#a b
#2 5
str(v)
# Named num [1:2] 2 5
# - attr(*, "names")= chr [1:2] "a" "b"