[R-br] Problema para calcular erro padrão da média usando with(tapply())
Paulo Justiniano
paulojus em leg.ufpr.br
Terça Novembro 12 11:28:39 BRST 2013
Naso era para funcionar mesmo o inicialmente tentando
Acrescentando detalhes:
seus objetos originais nao possuem os nomes de coluna que voce usou no
tapply()
procure organizar dados em data-frames e certifique-se que os nomes de
colunas estao definidos
d<-data.frame(trat=trat,id=id,y=y)
names(d)
Outra coisa evite criar tantos objetos de depois juntar no data.frame()
para nao criar confusao de nomes e objetos no seu workspace
- crie direto no data-frame
d <- data.frame(
y = c(rnorm(100,5), rnorm(80,20), rnorm(100,15)),
trat = c(rep(1,100), rep(2,80), rep(3,100)),
id = c(rep(60,100), rep(84,180))
)
revise sua chamada de funcoes, na.rm nao é um argumento de length()
talvez vc queira isto:
ep.b3<-with(d, tapply(y, list(trat,id), sd, na.rm = T))/with(d, sqrt(tapply(y, list(trat,id), length)))
ou de forma mais direta:
ep.b3<-with(d, tapply(y, list(trat,id), function(x) sd(x, na.rm = T)/length(x)))
ou
- apague os objetos nao necessários apos combina-los no data.frame
On Tue, 12 Nov 2013, Rodrigo Coster wrote:
> Não é mais fácil usar aggregate?
>
>
> 2013/11/12 ASANTOS <alexandresantosbr em yahoo.com.br>
> Caros membros,
>
> Tenho variáveis respostas com diferentes tamanhos de vetores e na hora de calcular o erro padrão da média usando o with() e
> tapply(), em função dos diferentes comprimentos de vetores , não estou conseguindo calcular, alguém poderia me ajudar, segue CRM:
>
> y1<-rnorm(100,5)### Variável resposta
> y2<-rnorm(80,20)
> y3<-rnorm(100,15)
> y<-c(y1,y2,y3)
>
>
> trat1<-rep(1,100)### Variável explicativa tratamento
> trat2<-rep(2,80)
> trat3<-rep(3,100)
> trat<-c(trat1,trat2,trat3)
>
> id1<-rep(60,100)### Variável explicativa idade
> id2<-rep(84,180)
> id<-c(id1,id2)
>
> d<-cbind(trat,id,y)
>
> ep.b3<-with(d, tapply(y, list(trat,id), sd, na.rm = T)) /sqrt(with(d, tapply(y, list(trat,id), length, na.rm = T))) ### Calculando o
> erro padrão
> ep.b3
>
> --
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)
> e-mails:alexandresantosbr em yahoo.com.br
> alexandre.santos em cas.ifmt.edu.br
> Lattes: http://lattes.cnpq.br/1360403201088680
> ======================================================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
>
>
>
>
Mais detalhes sobre a lista de discussão R-br