R 多元向量回归与系数提取

R 多元向量回归与系数提取,r,regression,multivariate-testing,R,Regression,Multivariate Testing,我想创建200个二元正态分布向量的1000个样本 set.seed(42) # for sake of reproducibility mu <- c(1, 1) S <- matrix(c(0.56, 0.4, 0.4, 1), nrow=2, ncol=2, byrow=TRUE) bivn <- mvrnorm(200, mu=mu, Sigma=S) set.seed(42)#为了再现性 mu我们可以编写一个自定义回归函数 regFun1

我想创建200个二元正态分布向量的1000个样本

set.seed(42)  # for sake of reproducibility
mu <- c(1, 1)
S <- matrix(c(0.56, 0.4,
              0.4, 1), nrow=2, ncol=2, byrow=TRUE)
bivn <- mvrnorm(200, mu=mu, Sigma=S)
set.seed(42)#为了再现性

mu我们可以编写一个自定义回归函数

regFun1 <- function(x) summary(lm(x[, 1] ~ x[, 2]))
系数保存在列表中,可按如下方式提取:

l1[[1]]$coefficients  # for the first regression
#              Estimate Std. Error   t value     Pr(>|t|)
# (Intercept) 0.5554601 0.06082924  9.131466 7.969277e-17
# x[, 2]      0.4797568 0.04255711 11.273246 4.322184e-23
编辑: 如果我们只需要无统计的估计量,我们会相应地调整函数的输出

regFun2 <- function(x) summary(lm(x[, 1] ~ x[, 2]))$coef[, 1]
在哪里


向我们保证我们有1000个估计值。

我们可以编写一个自定义回归函数

regFun1 <- function(x) summary(lm(x[, 1] ~ x[, 2]))
系数保存在列表中,可按如下方式提取:

l1[[1]]$coefficients  # for the first regression
#              Estimate Std. Error   t value     Pr(>|t|)
# (Intercept) 0.5554601 0.06082924  9.131466 7.969277e-17
# x[, 2]      0.4797568 0.04255711 11.273246 4.322184e-23
编辑: 如果我们只需要无统计的估计量,我们会相应地调整函数的输出

regFun2 <- function(x) summary(lm(x[, 1] ~ x[, 2]))$coef[, 1]
在哪里


向我们保证我们有1000个估计值。

我刚刚尝试过,但我得到了描述性统计数据和一行NAs:(尝试
sappy(bivn_1000,函数(x)摘要(lm(x[,1]~x[,2]))$coef)
。但您的数据是双变量的,还是我错了?是的。每个样本包含200个双变量向量,我正在尝试创建1000个样本,请参见下面的答案。我刚刚尝试过,但我得到了描述性统计和一行NAs:(Try
sapply(bivn_1000,函数(x)摘要(lm(x[,1]~x[,2])$coef)
。但您的数据是双变量的,还是我错了?是的。每个样本包含200个双变量向量,我正在尝试创建1000个样本。请参见下面的答案。是的,这很有效。但是是否有可能获得1000个估计值,每个样本1个?我不确定我是否理解您的意思。列表中有1000个估计值。请尝试
长度(l1)
这会产生
1000
。是的,你是对的,我没有注意到。我只想要第一列的系数。我尝试了这个循环
(I in 1:1000){是的,这是有效的。但是有可能得到1000个估计值,每个样本1个吗?我不确定我是否理解你的意思。列表中有1000个估计值。试试
length(l1)
可以得到
1000
。是的,你是对的,我没有注意到。我只想要第一列的系数。我试了这个循环
(i在1:1000中){a
dim(m2)
# [1] 1000    2