假設我有一個名爲TLT其最後一行data.frame是這樣的:什麼R函數發送輸出到一個新的矢量?
TLT.Open TLT.Close
2010-12-14 92.4 92.14
而且我想添加一個名爲TLT.BarColor一個額外的載體,所以它看起來是這樣的:
TLT.Open TLT.Close TLT.BarColor
2010-12-14 92.4 92.14 "Green"
這裏是一個「打印」它是綠色或紅色酒吧日的功能。
bar_color <- function(ticker) {
require("quantmod")
x <- getSymbols(ticker, auto.assign=FALSE)
open <- x[,1]
close <- x[,2]
last_open <- tail(open, n=1)
last_close <- tail(close, n=1)
if (last_open > last_close)
{print("Red Bar")}
else if (last_open < last_close)
{print("Green Bar")}
else {print("Doji Bar")}
除了使用打印()R功能(控制檯,它只能打印),你會用什麼一個R函數來發送輸出到填充新的載體?
super_dataframe <- cbind(TLT, apply(TLT, 1, valid_function))
示例函數在此解決方案中不起作用。但是如果該功能是有效的,它的輸出可以以這種方式附加。
這裏的最終目標是什麼?你想要繪製一些東西嗎?爲什麼你需要填充一個新的矢量? – Chase 2010-12-16 03:24:49
參見'?return()' – 2010-12-16 09:36:21
@Chase我試圖推廣我的最終目標來簡化問題,但我正在建立一個交易模型,其中價格可以佔據四個區域,兩個明確而另外兩個模糊不清。這兩個不明確的區域是根據模型昨天發出的信號來解決的。如果1,那麼pos = long。如果4,那麼pos =短。如果2 || 3,則pos = pos [-1]。使用pos(位置)向量代替示例中的barcolor,該向量基於比barcolor算法更復雜的算法填充。 – Milktrader 2010-12-16 16:15:27