[問題] 有關結果再做條件是判斷,再做回歸

看板R_Language作者 (filialpiety)時間5年前 (2019/02/16 00:14), 5年前編輯推噓1(1024)
留言25則, 5人參與, 5年前最新討論串1/1
- [問題類型]: 程式資訊 [軟體熟悉度]: 新手(只有五個月的經驗) [問題敘述]: 想請教各位大大的策略 我有嘗試用FUNCTION搭配IF找誰的Beta<0和>=0 下一部就卡死了 麻煩給點靈感 我是有想到機器學習或深度學習 可是沒學過 網路爬文也不知道從何學起 求求各位!!!! 感謝 [程式策略]: 流程如下 ###以下是成功的部份 第一步:整理出Y1, Y2, ….和X1, X1_reverse, X2, X2_reverse, …. 第二步:用迴圈結合線性回歸 For (Y in Y1, Y2, ….){ For ( X in X1, X2, …){ Lm(Y~X } } 第三步:找出lm(Y~X)的X1, X2, X3,….的BETA ####成功結束 ####以下是瓶頸的部分 第一步: 如果lm(Y~X1)的X1的BETA<0,則用X1_reverse取代X1 如果lm(Y~X2)的X2的BETA<0,則用X1_reverse取代X2 如果lm(Y~X3)的X3的BETA<0,則用X1_reverse取代X3 ….. 第二步: 最後跑出新的自變相 X1_new(X1或是X1_reverse), X2_new(X2或是X2_reverse), X3_new(X3或是X3_reverse), ….. 第三部: 再把X1_new+ X2_new+ X3_new+ …..加總成X_new_total ####目前卡死在以上這些 [關鍵字]: 條件式判斷 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.79.201 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1550247249.A.7BE.html ※ 編輯: filialpiety (218.164.79.201), 02/16/2019 00:15:41 ※ 編輯: filialpiety (218.164.79.201), 02/16/2019 00:20:00

02/16 09:46, 5年前 , 1F
用np.where來判斷BETA是否>0
02/16 09:46, 1F

02/16 09:51, 5年前 , 2F
喔不對 這個是python的作法
02/16 09:51, 2F

02/16 10:14, 5年前 , 3F
感謝~其實我也影響學python~~
02/16 10:14, 3F

02/16 12:15, 5年前 , 4F
lm物件也可以把beta叫出來
02/16 12:15, 4F

02/16 12:18, 5年前 , 5F
不太懂分X1,X2,...和Y1,Y2,...的用途,最後又併在一起
02/16 12:18, 5F

02/16 19:13, 5年前 , 6F
reverse是什麼?
02/16 19:13, 6F

02/16 21:06, 5年前 , 7F
n = 10
02/16 21:06, 7F

02/16 21:06, 5年前 , 8F
usedata_xnew_list = vector("list", n)
02/16 21:06, 8F

02/16 21:06, 5年前 , 9F
for(i in 1:n){
02/16 21:06, 9F

02/16 21:06, 5年前 , 10F
usedata_df = as.data.frame(replicate(2, rnorm(30)
02/16 21:06, 10F

02/16 21:06, 5年前 , 11F
))
02/16 21:06, 11F

02/16 21:06, 5年前 , 12F
colnames(usedata_df) = c("Y", "X")
02/16 21:06, 12F

02/16 21:06, 5年前 , 13F
#
02/16 21:06, 13F

02/16 21:06, 5年前 , 14F
model = lm(Y~X, data = usedata_df)
02/16 21:06, 14F

02/16 21:06, 5年前 , 15F
if(model$coe[2] < 0) usedata_df[, 2] = usedata_df
02/16 21:06, 15F

02/16 21:06, 5年前 , 16F
[, 2]*-1
02/16 21:06, 16F

02/16 21:06, 5年前 , 17F
#
02/16 21:06, 17F

02/16 21:06, 5年前 , 18F
usedata_xnew_list[[i]] = usedata_df[, 2]
02/16 21:06, 18F

02/16 21:06, 5年前 , 19F
}
02/16 21:06, 19F

02/16 21:06, 5年前 , 20F
X_new_total = Reduce("+", usedata_xnew_list)
02/16 21:06, 20F

02/16 21:50, 5年前 , 21F
a78998042a板友,較長的程式碼敬請回文或貼在code分享站
02/16 21:50, 21F

02/16 21:51, 5年前 , 22F
會更友善。謝謝。
02/16 21:51, 22F

02/16 23:17, 5年前 , 23F
02/16 23:17, 23F

02/17 06:14, 5年前 , 24F
感謝樓上各位大大!我寫出來了!晚點貼上code和大家
02/17 06:14, 24F

02/17 06:14, 5年前 , 25F
分享
02/17 06:14, 25F
文章代碼(AID): #1SPkLHU- (R_Language)