如何解决在 R 中的两条曲线的交点上找到一个点
我的目标是绘制与下图相同的图形。
这是我的虚拟数据
svd = c(93.1768266228751,80.8828881575493,74.9252643384626,58.728307285276,55.6071180124227,52.1049357981077,48.9368501752445,46.5223526337721,44.686322689287,44.2385101969825,42.0221360220679,39.3508810605723,38.328336809161,37.6217019593487,35.1011963229615,34.7109098631021,33.5772418742825,32.2145370875274,32.1636505404962,31.3179647348902,30.8791834752992,30.239537822046,28.6789171194815,27.3285224856971,26.9751185400668,26.1069013619846,26.0265021659453,24.906132809697,23.4367089167673,21.641858831997,20.1983059762678)
cc1 = c(54.6760227141476,48.7931089550736,47.9334657117593,47.3321652705517,47.080992718472,46.8785536114413,46.4331137951439,46.0501714405594,45.0055916969059,44.7757287349285,44.5746024569832,44.3726393125508,44.1517548958341,43.8240086851837,43.5673344643368,43.3667439813513,42.9438085359286,42.7530428269707,42.4869665340228,41.9826317444297,41.7534931578505,41.2640303360515,40.953286288465,40.6988967683226,40.3750101540625,39.9575827980763,39.3759116349504,39.2650188751364,39.1145593896217,38.2830565981822,37.7520964362991)
以下是我绘制结果的代码
pcaCharts <- function(x,y) {
#%explained variance and cumulative %explained variance of real data
x.var <- x$d^2/sum(x$d^2) * 100
x.pvar <- cumsum(x.var)
#%explained variance of a random matrix
x.var1 <- y^2/sum(y^2) * 100
#plot
par(mar = c(5,5,2,5))
par(xaxs='i',yaxs='i')
plot(x.var,xlab="k",ylab="%explained by each component",axes = F,xlim=c(1,length(x.var)),ylim=c(round(min(x.var),1),round(max(x.var),1)),type='l',col='blue')
lines(x.var1,col="purple")
x.ticks = seq(1,length(x.var))
y.ticks = seq(round(min(x.var),1))
axis(1,at = x.ticks)
axis(2,at = y.ticks,labels = paste0(y.ticks,"%"))
par(new = T)
par(xaxs='i',yaxs='i')
plot(x.pvar,xlab=NA,ylab= NA,ylim=c(0,100),col='green')
y.ticks1 = seq(0,100,10)
axis(side = 4,at = y.ticks1,labels = paste0(y.ticks1,"%"))
mtext("Cumulative %explained variance",side = 4,line = 3)
}
pcaCharts(svd,cc1)
现在我遇到了两个目前无法解决的问题。
感谢任何帮助!谢谢!
更新:我更新了我当前的解决方案,非常接近我的目标!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。