R减法向量时间序列

时间:2014-04-19 12:09:00

标签: r vector xts subtraction

这个代码尽管有了解决方案,但我可以接受以下内容。

它从CSV文件转发到数据帧,再转发到数据帧,然后转到xts / zoo。

是否有更简单,更短的方法来减去两个向量?

library(xts)
#Step 1  CSV
dat<-read.csv("table(3).csv")
#first row in that file
#         Date  Open  High   Low Close   Volume Adj.Close
#1  2014-04-17 21.85 21.91 21.75 21.86 47892800     21.86
#
class(dat)
#[1] "data.frame"

# Step 2 
h<-subset(dat,select=c(High))
l<-subset(dat,select=c(Low))
d<-subset(dat,select=c(Date))
diff<-h-l

#Step 3
new<-c(d,h,l,diff)
class(new)
#[1] "list"

new2<-as.data.frame(new)
class(new2)
#[1] "data.frame"

#Step 4
new2.xts <- xts(x=new2[,-1],order.by= as.POSIXct(new2$Date))
class(new2.xts)
#[1] "xts" "zoo"

1 个答案:

答案 0 :(得分:1)

您可以直接与列进行交互:

dat$diff <- dat$High - dat$Low