将星星放在条形图或箱线图上以显示一组或两组之间的显着性水平(p值)是很常见的,下面是几个例子:



星数由p值定义,例如,p值<0.001时可以放3颗星,p值<0.01时可以放2颗星等等(虽然这会从一篇文章变为另一篇文章).
我的问题:如何生成类似的图表?根据显着性水平自动放置星星的方法非常受欢迎.
我正在运行很多回归,我只对一个特定变量的系数和p值的影响感兴趣.因此,在我的脚本中,我希望能够从glm摘要中提取p值(获得系数本身很容易).我知道查看p值的唯一方法是使用summary(myReg).还有其他方法吗?
例如:
fit <- glm(y ~ x1 + x2, myData)
x1Coeff <- fit$coefficients[2] # only returns coefficient, of course
x1pValue <- ???
Run Code Online (Sandbox Code Playgroud)
我曾尝试将其fit$coefficients作为矩阵处理,但我仍然无法简单地提取p值.
是否有可能做到这一点?
谢谢!
我想使用p值作为选择标准来执行逐步线性回归,例如:在每个步骤中丢弃具有最高即最不重要的p值的变量,当所有值由某个阈值α显着定义时停止.
我完全知道我应该使用AIC(例如命令步骤或stepAIC)或其他一些标准,但我的老板不掌握统计数据并且坚持使用p值.
如果有必要,我可以编写自己的例程,但我想知道是否已经实现了这个版本.
所以,我花了一些时间寻找一种方法来获得Python中调整后的p值(也就是更正的p值,q值,FDR),但我还没有找到任何东西.有R功能p.adjust,但我想坚持Python编码,如果可能的话.Python有什么类似的东西吗?
如果这是一个不好的问题,请提前抱歉!我首先搜索了答案,但没有找到(除了Matlab版本)...感谢任何帮助!
我有这个情节
使用下面的代码
library(dplyr)
library(ggplot2)
library(ggpmisc)
df <- diamonds %>%
dplyr::filter(cut%in%c("Fair","Ideal")) %>%
dplyr::filter(clarity%in%c("I1" , "SI2" , "SI1" , "VS2" , "VS1", "VVS2")) %>%
dplyr::mutate(new_price = ifelse(cut == "Fair",
price* 0.5,
price * 1.1))
formula <- y ~ x
ggplot(df, aes(x= new_price, y= carat, color = cut)) +
geom_point(alpha = 0.3) +
facet_wrap(~clarity, scales = "free_y") +
geom_smooth(method = "lm", formula = formula, se = F) +
stat_poly_eq(aes(label = paste(..rr.label..)),
label.x.npc = "right", label.y.npc = 0.15,
formula = formula, parse = TRUE, …Run Code Online (Sandbox Code Playgroud) 我正在尝试用R计算f统计量的p值.在lm()函数中使用的公式R等于(例如假设x = 100,df1 = 2,df2 = 40):
pf(100, 2, 40, lower.tail=F)
[1] 2.735111e-16
Run Code Online (Sandbox Code Playgroud)
这应该等于
1-pf(100, 2, 40)
[1] 2.220446e-16
Run Code Online (Sandbox Code Playgroud)
它不一样!没有什么大不同,但它来自哪里?如果我计算(x = 5,df1 = 2,df2 = 40):
pf(5, 2, 40, lower.tail=F)
[1] 0.01152922
1-pf(5, 2, 40)
[1] 0.01152922
Run Code Online (Sandbox Code Playgroud)
它完全一样.问题是......这里发生了什么?我错过了什么吗?
这可能是一个简单的问题,但我试图使用分类器的分类器或回归的回归量来计算我的特征的p值.有人可以建议每个案例的最佳方法是什么,并提供示例代码?我想只看到每个功能的p值,而不是像文档中所解释的那样保持功能等的k最佳/百分位数.
谢谢
我在查询文件中的不同列上执行多次回归.我的任务是从R中的回归函数lm中提取某些结果.
到目前为止,我有,
> reg <- lm(query$y1 ~ query$x1 + query$x2)
> summary(reg)
Call:
lm(formula = query$y1 ~ query$x1 + query$x2)
Residuals:
1 2 3 4
7.68 -4.48 -7.04 3.84
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1287.26 685.75 1.877 0.312
query$x1 -29.30 20.92 -1.400 0.395
query$x2 -116.90 45.79 -2.553 0.238
Residual standard error: 11.97 on 1 degrees of freedom
Multiple R-squared: 0.9233, Adjusted R-squared: 0.7699
F-statistic: 6.019 on 2 and 1 DF, p-value: 0.277
Run Code Online (Sandbox Code Playgroud)
要提取系数,r平方和F统计,我使用以下内容:
reg$coefficients
summary(reg)$r.squared
summary(reg)$fstatistic
Run Code Online (Sandbox Code Playgroud)
我想提取0.2值的p值. …
如何确定具有n个自由度的t-分布的P值.
关于这个主题的研究指出了这个堆栈交换答案:https://stackoverflow.com/a/17604216
我假设np.abs(tt)是T值,但我如何在自由度上工作,是n-1?
提前致谢
我被困在如何应用自定义函数来计算从 Pandas groupby 获得的两组的 p 值。
test = 0 ==> test
test = 1 ==> control
Run Code Online (Sandbox Code Playgroud)
import numpy as np
import pandas as pd
import scipy.stats as ss
np.random.seed(100)
N = 15
df = pd.DataFrame({'country': np.random.choice(['A','B','C'],N),
'test': np.random.choice([0,1], N),
'conversion': np.random.choice([0,1], N),
'sex': np.random.choice(['M','F'], N)
})
ans = df.groupby(['country','test'])['conversion'].agg(['size','mean']).unstack('test')
ans.columns = ['test_size','control_size','test_mean','control_mean']
test_size control_size test_mean control_mean
country
A 3 3 0.666667 0.666667
B 1 1 1.000000 1.000000
C 4 3 0.750000 1.000000
Run Code Online (Sandbox Code Playgroud)
现在我想再添加两列以获取测试组和对照组之间的 p 值。但是在我的 groupby 中,我一次只能对一个系列进行操作,我不确定如何使用两个系列来获得 …
p-value ×10
r ×6
python ×4
statistics ×3
ggplot2 ×2
scipy ×2
bar-chart ×1
boxplot ×1
distribution ×1
glm ×1
numpy ×1
pandas ×1
q-value ×1
regression ×1
scikit-learn ×1