3 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您需要重置contrasts因子變量:
model.matrix(~ Fourth + Fifth, data=testFrame,
contrasts.arg=list(Fourth=contrasts(testFrame$Fourth, contrasts=F),
Fifth=contrasts(testFrame$Fifth, contrasts=F)))
或者,鍵入少一點(diǎn),但沒有適當(dāng)?shù)拿Q:
model.matrix(~ Fourth + Fifth, data=testFrame,
contrasts.arg=list(Fourth=diag(nlevels(testFrame$Fourth)),
Fifth=diag(nlevels(testFrame$Fifth))))

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
(嘗試贖回自己...)為響應(yīng)Jared關(guān)于@Fabians自動(dòng)化的回答,請注意,您需要提供的只是一個(gè)對比矩陣的命名列表。contrasts()取一個(gè)向量/因數(shù)并從中產(chǎn)生對比度矩陣。對于這個(gè)那么我們可以用lapply()運(yùn)行contrasts()在我們的數(shù)據(jù)集,例如用于各個(gè)因素testFrame提供的示例:
> lapply(testFrame[,4:5], contrasts, contrasts = FALSE)
$Fourth
Alice Bob Charlie David
Alice 1 0 0 0
Bob 0 1 0 0
Charlie 0 0 1 0
David 0 0 0 1
$Fifth
Edward Frank Georgia Hank Isaac
Edward 1 0 0 0 0
Frank 0 1 0 0 0
Georgia 0 0 1 0 0
Hank 0 0 0 1 0
Isaac 0 0 0 0 1
@fabians哪個(gè)插槽很好地回答:
model.matrix(~ ., data=testFrame,
contrasts.arg = lapply(testFrame[,4:5], contrasts, contrasts=FALSE))
- 3 回答
- 0 關(guān)注
- 964 瀏覽
添加回答
舉報(bào)