标签: p-value

如何有效地获取具有NaN值的数据帧的相关矩阵(具有p值)?

我正在尝试计算相关矩阵,并根据p值过滤相关性,以找出高度相关的对。

为了解释我的意思,请说我有一个这样的数据框。

df

    A       B       C       D
0   2       NaN     2       -2
1   NaN     1       1       1.1
2   1       NaN     NaN     3.2
3   -4      NaN     2       2
4   NaN     1       2.1     NaN
5   NaN     3       1       1
6   3       NaN     0       NaN
Run Code Online (Sandbox Code Playgroud)

为相关系数。我使用了pd.corr()。此方法可以处理具有NaN值的数据帧,更重要的是,它可以容忍具有0重叠的列对(列A和列B):

rho = df.corr()

       A          B            C           D
A   1.000000     NaN       -0.609994    0.041204
B   NaN          1.0       -0.500000    -1.000000
C   -0.609994    -0.5       1.000000    0.988871
D   0.041204     -1.0       0.988871    1.000000
Run Code Online (Sandbox Code Playgroud)

挑战在于计算p值。我没有找到执行此操作的内置方法。但是,从具有统计意义的大熊猫列相关性中,@ BKay提供了一种计算p值的循环方法。如果重叠少于3个,此方法将报告错误。因此我通过添加错误异常进行了一些修改。

ValueError:零大小的数组,直到没有身份的最大缩减操作

pval = rho.copy()
for i …
Run Code Online (Sandbox Code Playgroud)

python correlation pandas p-value

6
推荐指数
1
解决办法
2679
查看次数

如何在线性回归中手动计算t统计量的p值

我对178尾自由度的双尾t检验进行了线性回归.该summary函数为我的两个t值提供了两个p值.

t value Pr(>|t|)
5.06    1.04e-06 ***
10.09    < 2e-16 ***
...
...
F-statistic: 101.8 on 1 and 178 DF, p-value: < 2.2e-16
Run Code Online (Sandbox Code Playgroud)

我想用这个公式手动计算t值的p值:

p = 1 - 2*F(|t|)

p_value_1 <- 1 - 2 * pt(abs(t_1), 178)
p_value_2 <- 1 - 2 * pt(abs(t_2), 178)
Run Code Online (Sandbox Code Playgroud)

我没有获得与模型摘要中相同的p值.因此,我想知道summary函数Pr(>|t|)与我的公式有何不同,因为我找不到定义Pr(>|t|).

你能帮助我吗?非常感谢!

statistics regression r linear-regression p-value

6
推荐指数
1
解决办法
4557
查看次数

在 Postgres 中计算与斜率相关的 p 值

在 postgres 中,我使用以下函数计算 R2 和斜率:

regr_r2(y,x)
regr_slope(y,x)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以计算与 postgres 中的斜率相关的 p 值吗?

postgresql statistics p-value

6
推荐指数
0
解决办法
654
查看次数

如何计算 Go 中超几何分布的 p 值?

在 R 中,我可以使用phyper () 函数计算超几何分布的 p 值,其中返回数组中的第一个值是 p 值。

我想知道 Go / Golang 中是否有任何包可以让我完全在 Go 中进行计算?

statistics go p-value

5
推荐指数
1
解决办法
1972
查看次数

如何将 p 值添加到 R 中的一致性索引图中?

在我的生存分析任务中,我使用了 cox 比例模型来计算数据集不同组中的一致性指数 (c-index) 值。我想知道如何将 p 值添加到我的 c-index 图以比较不同的组看起来像这个图?

在此处输入图片说明

这是我的代码:

 surv <- with(group, Surv(group$survival, group$time))

# calculate survival
 sum.surv_1 <-  with(group, summary(coxph(surv ~ group$1)))
 sum.surv.1_2 <-  with(group, summary(coxph(surv ~ group$1 + group$2,ties = T)))


c_index.1 <- sum.surv_1$concordance
c_index.1_2 <- sum.surv.1_2$concordance

Comb_cIndex = data.frame(rbind(c_index.1["concordance.concordant"],
                           c_index.1_2["concordance.concordant"]))

barplot(as.matrix(Comb_cIndex), beside=TRUE, axis.lty=1, 
    ylab = "C Index", ylim = c(0, 0.8), 
    col = c("green", "blue")) 
Run Code Online (Sandbox Code Playgroud)

提前致谢,

r bar-chart cox-regression survival-analysis p-value

5
推荐指数
1
解决办法
1253
查看次数

Kruskal - 带有 R 的数据子集的 Wallis p 值矩阵

考虑一个Data具有多个因子和多个数值连续变量的数据集。这些变量中的一些,比方说slice_by_1(类别为“男性”、“女性”)和slice_by_2(类别为“悲伤”、“中性”、“快乐”)用于将数据“切片”为子集。对于每个子集,Kruskal-Wallis 测试都应该在变量length,上运行preasurepulse每个变量都由另一个称为 的因子变量分组compare_by。R 中是否有一种快速方法来完成此任务并将计算出的 p 值放入矩阵?

我使用dplyr包来准备数据。

示例数据集:

library(dplyr)
set.seed(123)
Data <- tbl_df(
   data.frame(
       slice_by_1 = as.factor(rep(c("Male", "Female"), times = 120)),
       slice_by_2 = as.factor(rep(c("Happy", "Neutral", "Sad"), each = 80)),
       compare_by = as.factor(rep(c("blue", "green", "brown"), times = 80)),
       length   = c(sample(1:10, 120, replace=T), sample(5:12, 120, replace=T)),
       pulse    = runif(240, 60, 120),
       preasure = c(rnorm(80,1,2),rnorm(80,1,2.1),rnorm(80,1,3))
   )
   ) %>%
group_by(slice_by_1, slice_by_2)
Run Code Online (Sandbox Code Playgroud)

我们来看数据:

Source: local data frame [240 …
Run Code Online (Sandbox Code Playgroud)

r statistical-test p-value kruskal-wallis

5
推荐指数
1
解决办法
1316
查看次数

在 R 中使用 t.test() 时出错 - 没有足够的“x”观测值

我尝试进行 t.test,但它给了我这样的错误。
在 R 中使用 t.test() 时出错

没有足够的“x”观察值

数据只有数值,没有 NA。组的比例是10比35。如何避免这种情况?先谢谢您的帮助!

t.test(data$Vrajdeb[data$a=="1"],data$Vrajdeb[data$a=="2"])
Run Code Online (Sandbox Code Playgroud)

参考数据https://1drv.ms/x/s!ApJwAUaohJFdr1ID-QebKTmE_o3K

statistics r p-value

5
推荐指数
1
解决办法
4万
查看次数

来自 fisher.test() 的 p 值与 phyper() 不匹配

Fisher's Exact Test 与超几何分布有关,我希望这两个命令会返回相同的 pvalues。谁能解释我做错了什么,他们不匹配?

#data (variable names chosen to match dhyper() argument names)
x = 14
m = 20
n = 41047
k = 40

#Fisher test, alternative = 'greater'
(fisher.test(matrix(c(x, m-x, k-x, n-(k-x)),2,2), alternative='greater'))$p.value 
#returns 2.01804e-39

#geometric distribution, lower.tail = F, i.e. P[X > x]
phyper(x, m, n, k, lower.tail = F, log.p = F)
#returns 5.115862e-43
Run Code Online (Sandbox Code Playgroud)

statistics r contingency p-value hypothesis-test

5
推荐指数
1
解决办法
900
查看次数

python中岭回归的p值

我正在使用岭回归(ridgeCV)。我从以下位置导入它: from sklearn.linear_model import LinearRegression, RidgeCV, LarsCV, Ridge, Lasso, LassoCV

如何提取 p 值?我检查过,但 ridge 没有名为摘要的对象。

我找不到任何讨论 python 的页面(为 R 找到了一个)。

alphas = np.linspace(.00001, 2, 1)
rr_scaled = RidgeCV(alphas = alphas, cv =5, normalize = True)
rr_scaled.fit(X_train, Y_train)
Run Code Online (Sandbox Code Playgroud)

python regression p-value

5
推荐指数
1
解决办法
3639
查看次数

在 ggplot 中显示 y~log(x) 函数的 R2 和 p 值

我想要进行ggplot对数回归并显示 R2 和 p 值。我尝试过stat_cor,但它只显示线性回归的 R2 和 p 值。我尝试将“formula=y~log(x)”合并到 中stat_cor,但说未知参数:公式。我是否必须使用不同的函数才能实现这一点?

ggplot(data = Data,aes(x=Carbon_per,y=Pyrite_per,col=Ecosystem,shape=Ecosystem)) +
  geom_smooth(method='lm', formula=y~log(x))+
  geom_point() +
  stat_cor(aes(label = paste(..rr.label.., ..p.label.., sep = "~`,`~")))
Run Code Online (Sandbox Code Playgroud)

干杯,格洛丽亚

r ggplot2 p-value non-linear-regression

5
推荐指数
1
解决办法
4138
查看次数