簡體   English   中英

我們如何對數據集進行線性回歸並將其逐列回歸到一個向量?

[英]How do we do linear regression on a dataset and regress it to one vector column by column?

我有一個 6x1 的向量和一個 6X1000 的矩陣。 我想使用相同的向量對每一列進行線性回歸。 我需要這個算法通過我的矩陣 go 並從每個相關/回歸中提取每個 R^2 值。 有人能幫忙嗎? 謝謝!

您需要提供數據,例如

set.seed(42)
x <- matrix(rnorm(6), 6, 1)
y <- matrix(rnorm(6*10), 6, 10) # Just 10 columns to demonstrate

第一個解決方案使用 x 作為自變量,y 的每一列作為線性回歸中的因變量,然后提取 R2 值。 第二個解決方案只計算平方相關系數,因為這對於二元回歸是相同的:

corrs <- sapply(1:10, function(i) summary(lm(y[, i]~x))$r.squared)
#  [1] 0.039143014 0.003056088 0.897015721 0.282917356 0.019288198 0.001808288 0.055232746 0.276741234 0.008821625 0.073663713
sapply(1:10, function(i) cor(x, y[, i])^2)
#  [1] 0.039143014 0.003056088 0.897015721 0.282917356 0.019288198 0.001808288 0.055232746 0.276741234 0.008821625 0.073663713
names(corrs) <- 1:10  # Label the columns
corrs[which(corrs > .25)]
#         3         4         8 
# 0.8970157 0.2829174 0.2767412 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM