我想在 R 中构建一个三行换行图表,并且想知道是否已经有一个包可以用来执行绘制图表所需的计算,或者更好地同时执行两者,即绘图和计算。
我曾尝试在 rseek.org 上进行搜索,并且还查看了一些财务方案。到目前为止没有运气。
不是最干净的代码,但它可能有助于作为进一步开发的基础。closeval
代表一些虚拟收盘价。
closeval <- c(50,48,47,47,59,60,57,48,42,50)
cvlag <- c(NA,head(closeval,-1))
dset <- data.frame(closeval,cvlag)
dset <- subset(dset,closeval!=cvlag | is.na(cvlag))
dset$cvlag2 <- c(NA,NA,head(dset$closeval,-2))
plot(dset$closeval)
dset <- dset[2:nrow(dset),]
dset$maxlag <- apply(dset[c("cvlag","cvlag2")],1,max,na.rm=TRUE)
dset$minlag <- apply(dset[c("cvlag","cvlag2")],1,min,na.rm=TRUE)
dset$change <- (dset$closeval-dset$cvlag) > 0
dset$keyval[dset$change==FALSE] <- dset$minlag[dset$change==FALSE]
dset$keyval[dset$change==TRUE] <- dset$maxlag[dset$change==TRUE]
segments(
2:(nrow(dset)+1),
dset$closeval,
2:(nrow(dset)+1),
dset$keyval,
col=ifelse(dset$change==TRUE,"red","blue")
)