[英]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.