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