R 增强曲线上部的胆量
我怎样才能使曲线的某一部分更有勇气?在这种情况下,有效边界是上半部分 下面是我的代码R 增强曲线上部的胆量,r,R,我怎样才能使曲线的某一部分更有勇气?在这种情况下,有效边界是上半部分 下面是我的代码 #portfolio contains my data portfolio<-read.table(........) #this plots a scatter plot, however type="n" so nothing shows up plot(portfolio$PortfolioRisk,portfolio$PortfolioReturn, xlab = "Risk", ylab =
#portfolio contains my data
portfolio<-read.table(........)
#this plots a scatter plot, however type="n" so nothing shows up
plot(portfolio$PortfolioRisk,portfolio$PortfolioReturn, xlab = "Risk", ylab
= "Return", type = "n")
curv <- loess(portfolio$PortfolioReturn~portfolio$PortfolioRisk)
lines(curv)
points(0.15,0.20, pch = 21, bg = 1)
points(0.20,0.25, pch = 21, bg = 1)
text(c(0.15,0.20), c(0.20,0.25), labels=c("B", "E"), cex=0.8, pos =1)
您可以分别绘制这两部分。这里是一个例子,因为您没有提供数据
curve(sqrt(x), xlim=c(0, 4), ylim=c(-4, 4), lwd=4)
curve(-sqrt(x), add=TRUE)
points(1, sqrt(1), pch=21, bg=1)
points(.5, -sqrt(.5), pch=21, bg=1)
text(c(1,.5), c(sqrt(1),-sqrt(1)), labels=c("B", "E"), cex=0.8, pos =1)
这里有一种方法,或多或少是自动完成问题的要求。请注意,它使用索引
1:m
对向量进行子集化。我的第一次尝试是m:curv$n
,得到了曲线的下半部分。根据具体情况调整此解决方案
第一个指令几乎等于问题中发布的代码。不同之处在于调用data
,使用参数数据
plot(portfolio$PortfolioRisk,
portfolio$PortfolioReturn,
xlab = "Risk", ylab = "Return", type = "n")
curv <- loess(PortfolioReturn ~ PortfolioRisk, data = portfolio)
您能提供数据和代码来复制此功能吗?对您想要的零件进行过多的拼贴emphasize@jay.sf已编辑,带数据。@OvermanZarathustra的工作原理与我的答案中给出的代码类似,使用行
和黄土
,但对上下部分分别使用,并指定线宽lwd
。
plot(portfolio$PortfolioRisk,
portfolio$PortfolioReturn,
xlab = "Risk", ylab = "Return", type = "n")
curv <- loess(PortfolioReturn ~ PortfolioRisk, data = portfolio)
m <- which.min(curv$x)
lines(curv)
lines(curv$x[1:m], curv$y[1:m], lwd = 2)
points(0.15,0.20, pch = 21, bg = 1)
points(0.20,0.25, pch = 21, bg = 1)
text(c(0.15,0.20), c(0.20,0.25), labels=c("B", "E"), cex=0.8, pos =1)