簡體   English   中英

R中的model.matrix解釋

[英]model.matrix explanation in R

我試圖理解一些在 R 中構建模型矩陣的代碼,但在理解一些基本語法時遇到了麻煩。

下面是一些可重現的代碼:

test_df <- data.frame(category =c("Poetry", "Narrative Film", "Music"), 
                      country=c("GB", "US", "US"), usd_goal_real=c(1534,30000,45000),
                      time_int = c(59, 60, 45), state=c(0,0,0)
                      )
test_df2 <- data.frame(model.matrix( ~ . -1, test_df))
test_df3 <- data.frame(model.matrix( ~ . , test_df))

test_df2 <- data.frame(model.matrix( ~ . -1, test_df))行中究竟指定了什么?

具體來說, ~ . -1 ~ . -1是什么意思? 這是從模型中排除了一個字段嗎? iI 與公式~ . ,有何不同~ . , ~ . ,在下一行?

最簡單的答案是model.matrix中公式中的-1從模型中刪除 X 截距項。 data.frame(model.matrix( ~ . -1, test_df))產生:

  categoryMusic categoryNarrative.Film categoryPoetry countryUS usd_goal_real time_int state
1             0                      0              1         0          1534       59     0
2             0                      1              0         1         30000       60     0
3             1                      0              0         1         45000       45     0

data.frame(model.matrix( ~ . , test_df))產生:

  X.Intercept. categoryNarrative.Film categoryPoetry countryUS usd_goal_real time_int state
1            1                      0              1         0          1534       59     0
2            1                      1              0         1         30000       60     0
3            1                      0              0         1         45000       45     0

由於模型中有一個分類變量,您還會注意到當模型中存在 X 截距時,該變量的Music水平消失了,因為變量的第一個水平用於截距,而所有其他水平都是從中測量的.

這些是參數化模型的 2 種不同方式

暫無
暫無

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

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