[R-br] Tabelas Complexas
walmes .
walmeszeviani em gmail.com
Quinta Julho 31 13:32:07 BRT 2014
Partindo do data.frame que você forneceu no seu CMR. Alias, parábens por
enviá-lo e ilustrar tão bem suas necessidades. Segue minha primeira
abordagem para solucionar o problema.
df <- data.frame(c1, c2, c3, var, peso)
str(df)
## Lista de fórmulas.
f <- c(
var~c1,
var~c2,
var~c3,
var~c1+c2,
var~c1+c3,
var~c2+c3,
var~c1+c2+c3)
aggregate(f[[1]], data=df, FUN=mean)
L <- lapply(f,
function(fi){
a <- aggregate(fi, data=df, FUN=mean)
b <- aggregate(fi, data=df, FUN=length)
m <- merge(a, b, by=names(a)[-ncol(a)])
names(m)[ncol(m)-1:0] <- c("mean", "length")
return(m)
})
str(L)
require(plyr)
M <- do.call(rbind.fill, L)
str(M)
## À fazer:
## 1) tocar colunas de lugar, fatores antes, respostas depois.
## 2) trocar NA por tot.
## 3) talvez reordenar linhas.
## 4) encontrar uma forma automática de gerar todas as formulas a partir
## dos termos passados para ganhar tempo.
Foi usado que a aggregate() aceita fórmulas, a lapply() varre as fórmulas,
dentro ocorre a agregação seguida de merge(), depois o "deslistamento"
usando a rbind.fill() para empilhar data.frame que não tem o mesmo
nome/número de colunas.
À
disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140731/db83fa6a/attachment.html>
Mais detalhes sobre a lista de discussão R-br