簡體   English   中英

預測為多元回歸 model 並應用於 cav

[英]predict as multi regression model and lapply to cav

我想嘗試的是,

有 10 個擬合模型,對每個向量實施並將結果應用到一個 CSV 文件中。

像這樣的日期集<test>

內容 不受歡迎的 可取的 用戶_1 ... 用戶_10
1個 3.00 2.77 0.11 北美
...
5000 2.50 2.11 北美 0.12

我做了如下制作 10 model

formulas = paste0("user_", 1:10, " ~ undesirable + desirable")
models = lapply(formulas, \(x)lm(as.formula(x), data = test))

我想在下面重復 10 次結果,

:取每個用戶的NA值進行預測

user_1_na = test[is.na(test$user_1), c('user_1', 'undesirable', 'desirable')]
pred_user_1 = predict(models[[1]], newdata = u_1_na)
...

user_10_na = test[is.na(test$user_10), c('user_10', 'undesirable', 'desirable')]
pred_user_10 = predict(models[[10]], newdata = u_10_na)

並將結果保存在 csv 文件中

我不確定如何將結果轉換為 dafa 框架

which(result1 == max(result1))
max(result1)

# the result will be
V2719                         
615.0000000   0.8519751

...
which(result10 == max(result10))
max(result10)



f_result = which(result1 == max(result1))
f_result[2] = max(result1)
f_result

我嘗試做出的結果是

用戶 用戶_1 ... 用戶_10
內容編號 V2719 ... V####
評分 0.8519751 ... 0.####

我們可以通過使用左側的因變量矩陣一次執行所有 lm。 使用內置的 anscombe 數據框

lm(cbind(y1, y2, y3, y4) ~ ., data = anscombe)

給予:

Call:
lm(formula = cbind(y1, y2, y3, y4) ~ ., data = anscombe)

Coefficients:
                   y1        y2        y3        y4      
(Intercept)   4.33291   6.42255   2.30291   1.96345
x1            0.45073   0.37327   0.52564   0.07691
x2                 NA        NA        NA        NA
x3                 NA        NA        NA        NA
x4           -0.09873  -0.25345   0.05182   0.53836

暫無
暫無

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

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