使用变量调用R中的特定列?

使用变量调用R中的特定列?,r,xts,R,Xts,我想使用character vector对象轻松地从xts对象提取列数据。我只是尝试将第一个列名分配给变量x,并使用mx$x调用它,但没有用。有没有办法做到这一点 library(xts) mx <- xts(rnorm(10), Sys.Date()+1:10) colnames(mx) <- "good" x <- "good" mx$x # NULL mx[x] # Error in if (length(c(year, month, day, hour, min, se

我想使用character vector对象轻松地从xts对象提取列数据。我只是尝试将第一个列名分配给变量
x
,并使用
mx$x
调用它,但没有用。有没有办法做到这一点

library(xts)
mx <- xts(rnorm(10), Sys.Date()+1:10)
colnames(mx) <- "good"
x <- "good"
mx$x
# NULL
mx[x]
# Error in if (length(c(year, month, day, hour, min, sec)) == 6 && c(year,  : 
# missing value where TRUE/FALSE needed
# In addition: Warning messages:
# 1: In as_numeric(YYYY) : NAs introduced by coercion
# 2: In as_numeric(YYYY) : NAs introduced by coercion
mx[[x]]
# Error in mx[[x]] : subscript out of bounds
库(xts)

mx试试
mx[,x]

R> mx[,x]
                 good
2016-07-27 -0.4565496
2016-07-28  1.7436667
2016-07-29 -0.9803478
2016-07-30 -1.1954349
2016-07-31 -0.7583871
2016-08-01 -0.2496221
2016-08-02  1.6043962
2016-08-03  0.8236225
2016-08-04 -0.5089324
2016-08-05  1.1036047

这必须有一个副本,或者可能有一个文档链接?
mx[,x]
works。。。如果您想要一个列,
drop(mx[,x])
可能是useful@BenBolker-或者只是
mx[,x,drop=TRUE]
也相关,因为xts对象是一个矩阵:。