这个代码尽管有了解决方案,但我可以接受以下内容。
它从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"
答案 0 :(得分:1)
您可以直接与列进行交互:
dat$diff <- dat$High - dat$Low