我有一个对象currency
我想用变量Pair
选择一列,行等于1。
>currency
EURUSD EURUSDi USDJPY USDJPYi GBPUSD GBPUSDi AUDUSD AUDUSDi XAUUSD XAUUSDi zeroes
2000-07-16 0 0 0 0 0 1 0 0 0 0 0
2000-07-23 0 0 0 0 0 1 0 0 0 0 0
2000-07-30 0 0 0 0 0 1 0 0 0 0 0
2000-08-06 0 0 0 0 0 0 0 0 0 1 0
2000-08-13 0 1 0 0 0 0 0 0 0 0 0
从控制台我可以使用这样的子集:
> subset(currency$GBPUSDi, GBPUSDi == 1)
GBPUSDi
2000-07-16 1
2000-07-23 1
2000-07-30 1
2000-08-06 1
2000-08-13 1
2000-08-20 1
但是一旦在带有变量Pair
的脚本中传递它就会失败。我在文档中搜索了几个小时,我正在努力弄清楚出了什么问题。
请找到我试过的不同命令:
subset (currency$Pair, Pair == 1)
subset (currency, Pair = 1, select = Pair)
weights$Cur[currency$Pair = 1]
有效的是currency[,c(Pair)]
,但它只选择列,如何完成Pair
= 1的行选择?
currency[,c(Pair)][Pair = 1]
或subset (currency[,c(Pair)], Pair = 1)
的 =
和==
不起作用。
答案 0 :(得分:0)
currency$Pair[currency$Pair == 1]
应该有效($Pair
选择列Pair
和[currency$Pair == 1]
选择等于1的值。看起来它在您的情况下不起作用,因为currency
不包含变量Pair
。
如果currency
不是数据框而是矩阵,您可以尝试
currency[currency[, c("Pair")] == 1, c("Pair")]