假设我有一个名为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