我做
library(Hmisc)
df <- as.matrix(replicate(20, rnorm(20)))
cor.df <- rcorr(df)
plot(cor.df$r,cor.df$P)
abline(h=0.05)
我想知道R是否可以计算水平线和钟形曲线的会合点。由于我有一个散点图,我是否需要先对x,y曲线建模,然后平衡这两个函数?或者R可以用图形方式做到吗? 我实际上想知道(未校正的)pvalues的阈值是什么,表明给定数据集的重要测试统计数据。我不是一个训练有素的统计学家,所以如果这是一个基本问题,请原谅。 非常感谢你!
答案 0 :(得分:1)
没有以图形方式计算交叉点的功能。有一些像uniroot
这样的函数可以在R中用来查找交点,但是你需要有适当的函数并且知道交点发生的间隔。
最好对所讨论的曲线进行正确建模,但是当曲线上有一堆点时,只需在观察点之间使用线性插值即可简单地逼近函数。您可以使用approxfun
f1 <- approxfun(cor.df$r,cor.df$P, rule=2)
(同样,一个合适的模型会更好,但仅仅为了示例,我将继续使用此功能)。
现在我们可以找到这条曲线与
交叉0.05的地方uniroot(function(x) f1(x)-.05, c(-1,-.001))$root
# [1] -0.4437796
uniroot(function(x) f1(x)-.05, c(.001, 1))$root
# [1] 0.4440005