Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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提取每个回归系数(1104个线性回归)的p值列表_R_Regression_P Value - Fatal编程技术网

使用R提取每个回归系数(1104个线性回归)的p值列表

使用R提取每个回归系数(1104个线性回归)的p值列表,r,regression,p-value,R,Regression,P Value,我试着用相同的模型做1104次线性回归。我的自变量不变。但是,我的依赖变量会。事实上,我有1104个因变量。我只能提取所有系数(包括截距)、t-stats和R-square stats。我还想提取1104线性回归中每个系数的所有p值列表。如何用简单的方法做到这一点 这是我的密码: 对M1运行1104个回归 bigtestsapply(测试、函数(i)摘要(i)$coverties[-1,4])将获得p值。注意,我假设你不需要拦截。此外,sappy可以写得比您一直使用的更加清晰 下面是一个小例子:

我试着用相同的模型做1104次线性回归。我的自变量不变。但是,我的依赖变量会。事实上,我有1104个因变量。我只能提取所有系数(包括截距)、t-stats和R-square stats。我还想提取1104线性回归中每个系数的所有p值列表。如何用简单的方法做到这一点

这是我的密码:

对M1运行1104个回归
bigtest
sapply(测试、函数(i)摘要(i)$coverties[-1,4])
将获得p值。注意,我假设你不需要拦截。此外,sappy可以写得比您一直使用的更加清晰

下面是一个小例子:

y <- c(1.03, 2.05, 2.91, 4.07)
x1 <- c(2.1, 4.3, 5.8, 7.9)
x2 <- c(43, 17, 11, 7)
x3 <- c(5.1, 6.1, 5.5, 6.8)
df <- data.frame(y, x1, x2, x3)

# Fit models
fit <- lapply(df[,-1], function(x) lm(df$y~x))

# Extract pvalues with intercept
pval <- sapply(fit, function(x) summary(x)$coefficients[,4])
pval 


Output: 
                    x1         x2        x3
(Intercept) 0.311515551 0.02163118 0.3022066
x           0.001185388 0.09842442 0.1855516


# Without intercept
pval2 <- sapply(fit, function(x) summary(x)$coefficients[-1,4])
pval2 

Output:
        x1          x2          x3 
0.001185388 0.098424425 0.185551567 

y这里有一个包含多个部分的tidyverse解决方案,希望这样更容易阅读:-)我使用
mtcars
作为播放数据集,以
mpg
作为不变的自变量

库(dplyr)
图书馆(purrr)
图书馆(扫帚)
图书馆(tibble)
#第一个关键变化是让‘扫帚::整洁’做艰苦的工作
测试2#A tible:18 x 6
#>哪个依赖项估计标准误差统计p值
#>                                     
#>1个气缸截距11.30.593 19.0 2.87e-18
#>2缸mpg-0.253 0.0283-8.92 6.11e-10
#>3显示截获581。41.7 13.9 1.26e-14
#>4显示mpg-17.4 1.99-8.75 9.38e-10
#>5马力拦截324。27.4 11.8.25e-13
#>6马力mpg-8.83 1.31-6.74 1.79e-7
#>7德拉特截距2.38 0.248 9.59 1.20e-10
#>8 drat mpg 0.0604 0.01195.10 1.78e-5
#>9 wt截距6.05 0.309 19.6 1.20e-18
#>10重量mpg-0.141 0.0147-9.56 1.29e-10
#>11 qsec拦截15.4 1.03 14.9 2.05e-15
#>12 qsec mpg 0.124 0.0492 2.53 1.71e-2
#>13对截距-0.678 0.239-2.84 8.11e-3
#>14对mpg 0.0555 0.0114.86 3.42e-5
#>上午15时截距-0.591 0.253-2.33 2.64e-2
#>上午16时mpg 0.0497 0.0121 4.11 2.85e-4
#>17档位截距2.51 0.411 6.10 1.05e-6
#>18档mpg 0.0588 0.0196 3.00 5.40e-3
只是想改变一下。。。我们将使用
map
构造公式


谢谢你Chuck P!如果满足您的需要,请勾选答案有没有办法正确显示这些p值?我是说每列?“Cyl disp hp牵引…齿轮”(9行)和“Intercept mpg”(2列)。事实上,我的目标是计算所有“截距”和所有“mpg”的p值平均值,告诉我更多关于“正确”的信息,我不明白你想要什么。。。至于为我的所有“截距”和我的所有“mpg”推导“p值的计算平均值”,这与以下代码无关
results%>%group\u by(term)%%>%summary(mean\u p=mean(p.value))
有你不想要的列吗?为了使它“更宽”,每个因变量有一行,并保留所有信息,我们可以
宽\u结果%pivot\u宽(name\u from=term,values\u from=estimate:p.value)
从18行7列到9行11列,列将是“which\u dependent”“rsquared”“RSE”“estimate\u Intercept”“estimate\u mpg”“标准错误拦截”“标准错误拦截”“统计拦截”“统计拦截”“p.value拦截”“p.value拦截”
y <- c(1.03, 2.05, 2.91, 4.07)
x1 <- c(2.1, 4.3, 5.8, 7.9)
x2 <- c(43, 17, 11, 7)
x3 <- c(5.1, 6.1, 5.5, 6.8)
df <- data.frame(y, x1, x2, x3)

# Fit models
fit <- lapply(df[,-1], function(x) lm(df$y~x))

# Extract pvalues with intercept
pval <- sapply(fit, function(x) summary(x)$coefficients[,4])
pval 


Output: 
                    x1         x2        x3
(Intercept) 0.311515551 0.02163118 0.3022066
x           0.001185388 0.09842442 0.1855516


# Without intercept
pval2 <- sapply(fit, function(x) summary(x)$coefficients[-1,4])
pval2 

Output:
        x1          x2          x3 
0.001185388 0.098424425 0.185551567