Regressão Linear II
<?xml version="1.0" encoding="ISO-8859-1"?>
<Rscript>
<titulo>Regressão Linear II</titulo>
<descricao>
Regressão Linear revista para incluir tratamento de erros na fórmula fornecida pelo usuário.
</descricao>
<autor>Oswaldo G Cruz</autor>
<email>oswaldo@fiocruz.br</email>
<versao>1.1</versao>
<parametro>Entre com a formula a ser usada (ex: x ~ y+z)</parametro>
<parametro2></parametro2>
<colsel></colsel>
<colsel2></colsel2>
<script>
# tabela <- read.table("tabwin",check.names=FALSE)
tmp <- unlist(strsplit(parametro,"~"))
dep <- sub(' ', '', tmp[1])
tmp2 <- unlist(strsplit(tmp[2],"\\+"))
tmp2 <- sub(' ', '', tmp2)
indep <- sub(' ', '', tmp2)
indep <- sub(' ', '', indep)
FLAG <- FALSE
if (length(grep("~",parametro))==0) {
cat ("\n\n ERRO , formula deve ter um ~ separando a variavel dependente das demais \n")
FLAG <- TRUE
}
if (length(grep(dep,names(tabela)))==0) {
cat (paste("\n ERRO , Varieavel Dependente \"",dep, "\" desconhecida, digite exatamente o nome da coluna desejada \n\n"),sep="")
FLAG <- TRUE
}
for ( i in 1:length(indep)) {
if (length(grep(indep[i],names(tabela)))==0) {
cat (paste("\n ERRO , Varieavel Independente \"",indep[i], "\" desconhecida, \n digite exatamente o nome da coluna desejada \n"),sep="")
FLAG <- TRUE
}
}
if (FLAG) {
cat ("\n A formula necessita de uma variavel dependente e uma ou mais ")
cat ("\n variaveis independentes. \n\n")
cat (" Por Exemplo : casos ~ populacao + fator + idade \n\n")
q()
}
#win.metafile("tabwin%02d.wmf")
grafico.tabwin()
reg <- lm(as.formula(parametro),data=tabela)
summary(reg)
par(mfrow = c(2,2))
plot(reg)
tabela$residuos <- reg$residuals
write.table(tabela,"tabwin.out",sep=",", col.names=NA)
</script>
<exemplo>
</exemplo>
</Rscript>