2016-07-26 10 views
2

文字ベクトルオブジェクトを使用して、xtsオブジェクトから列データを簡単に抽出したいと考えています。私は単純に最初の列名を変数xに割り当て、mx$xを使用して呼び出しようとしましたが、それは役に立たないです。これを行う方法はありますか?Rの変数を使用して特定の列を使用しますか?

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 
+1

このため、重複があるように持っている - または多分ドキュメントリンク? –

+2

'mx [、x]'が働いていれば、 'drop(mx [、x])'が役に立つかもしれません。 –

+1

@BenBolker - または単に 'mx [、x、drop = TRUE]' – thelatemail

答えて

6

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 
関連する問題