<div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Qual a restrição que te impede de usar a model.matrix()? Bem, você pode montar a matriz de incidência atribuindo 0 ou 1 caso a linha pertença à certo nível, depois aplicar uma restrição paramétrica que garanta uma solução que no caso default seria excluir a primeira coluna.<br>
<br><span style="font-family:courier new,monospace">## Usando model.matrix().<br>X <- model.matrix(~Species, data=iris)<br><br>## Com sapply().<br>Xs <- 1*sapply(levels(iris$Species), "==", iris$Species)<br>
<br>## Com outer().<br>Xo <- 1*outer(iris$Species, levels(iris$Species), "==")<br><br>## Lembre-se que as matrizes retornadas correspondem ao seguinte.<br>X <- model.matrix(~0+Species, data=iris)<br></span><br>
</div>​À<div class="gmail_default" style="font-family:trebuchet ms,sans-serif;display:inline">​ disposição.<br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif;display:inline">Walmes.​</div></div>