Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 增强曲线上部的胆量_R - Fatal编程技术网

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)