我对R和XTS相当陌生。请原谅混淆标题,下面的例子应该更好地说明我的问题。问题How to get value by column name in R?对我没有多大帮助,也许是因为我正在使用XTS对象。基于列名列名的新XTS列
我有一列字符串是XTS对象中其他列的名称。
xts_bars <- structure(c("1", "1", "1", "1", "-1", "-1", "-1", "-1", "action4",
"action4", "action", "action"), .indexCLASS = c("POSIXct", "POSIXt"),
tclass = c("POSIXct", "POSIXt"), tzone = "", class = c("xts", "zoo"),
index = c(1506620100, 1506620400, 1506620700, 1506621000), .Dim = c(4L, 3L),
.Dimnames = list(NULL, c("action", "action4", "column_names")))
我想创建一个新的列,并填充每行的命名列中的每一行的值。
xts_bars$column_names
xts_bars$new_column = xts_bars[,xts_bars$column_names]
这不是工作,这是 'NEW_COLUMN' 列前创建3个额外的列:
action action4 column_names action4.1 action4.2 action.1 new_column
2017-09-28 12:35:00 "1" "-1" "action4" "-1" "-1" "1" "1"
2017-09-28 12:40:00 "1" "-1" "action4" "-1" "-1" "1" "1"
2017-09-28 12:45:00 "1" "-1" "action" "-1" "-1" "1" "1"
2017-09-28 12:50:00 "1" "-1" "action" "-1" "-1" "1" "1"
的 'NEW_COLUMN' 一栏包含-1,-1,1,1
虽然有时会说“一张图片胜过千言万语”,但这并不适用于数据图片。请提供[可重现的示例](https://stackoverflow.com/q/5963269/271616)。您的数据图片不是xts对象。你不能在xts对象中混合类型,而xts对象没有“Date”列。 –
@JoshuaUlrich在您的IBrokers包中write.zoo()XTS对象时,“Date”列是CSV文件。关于不在XTS对象中混合类型的注意事项,在RStudio中,添加字符串列时遇到了NA强制警告,但是当我第二次运行该行时,它强制它进入XTS对象,并且在课后仍然显示了xts/zoo (xts_bars)。 – sshemtov