2017-07-24 75 views
-3

我有10個k表示來自數據集的羣集。我想要分別建立所有這些集羣的線性迴歸模型。 即。我想要10個線性迴歸模型。我如何使用循環在R羣集上的線性迴歸

+0

有一個循環。 (嚴重:你試過了什麼?) – Zach

+0

'lapply(split(train,cluster),lm,formula = price〜。)'請複習[mcve]。 –

+0

謝謝@ G.Grothendieck –

回答

0

我得到了答案。 這就是我真正想要的。 此代碼基本上是從哈德利Wikham的github上後的「管理多個模型」

house.cluster <- kmeans(scale(house), 10, 50) 
house$cluster <- house.cluster$cluster 

by_cluster <- train %>% 
    group_by(cluster) %>% 
    nest() 


cluster_model <- function(df) { 
    lm(price ~., data = df) 
} 

models <- by_cluster %>% 
    mutate(
    model = data %>% map(cluster_model) 
) 


models <- models %>% 
    mutate(
    glance = model %>% map(broom::glance), 
    rsq  = glance %>% map_dbl("r.squared") 
) 

現在我想我的預測與測試這10款設置。 這是怎麼做到的