比较R中不同列的股票价格

时间:2019-02-08 18:03:29

标签: r

我很难在R中编写代码行来查看股票A的最新价格,并将其与存储在不同列中的股票A的收盘价进行比较。理想情况下,代码将查看库存A,B,C,D,E,并根据我在下面提供的IF语句吐出结果。

现在我的代码将比较四次而不是两次。我找不到重写它的好方法。有关如何执行此操作的任何想法?

x<-c(2,4)

y<-c(3,5)


for(i in x) for(j in y){
  if (c[nrow(c),i]>c[nrow(c),j]){
    print("Ok")
  }else{
    print("no")
  }
}

1 个答案:

答案 0 :(得分:1)

尝试mapply,先前将股票的最后价格和收盘价分为两个不同的数据帧:

Lista <- list("A_Last", "B_Last", "C_Last", "D_Last", "E_Last")
Lista2 <- list("A_Close", "B_Close", "C_Close", "D_Close", "E_Close")

lapply(Lista, function(x){
  assign(x, runif(10), envir = globalenv())
})

lapply(Lista2, function(x){
  assign(x, runif(10), envir = globalenv())
})

StockLast <- cbind.data.frame(A_Last, B_Last, C_Last, D_Last, E_Last)
StockClose <- cbind.data.frame(A_Close, B_Close, C_Close, D_Close, E_Close)

mapply(function(x, y) {
 if (x[[nrow(x)]] > y[[nrow(y)]]) {
   print("Ok")
 } else {
   print("no")
 }
}, x = StockLast, y = StockClose)

希望有帮助。