我對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