[R-br] erros no codigo do R
Benilton Carvalho
beniltoncarvalho em gmail.com
Quarta Março 13 14:18:45 BRT 2013
Ana,
uma dica importante para a lista: siga a recomendacao de prover um
exemplo reproduzivel (o seu nao e' e com isso vc acaba ficando sem
resposta de diversos usuarios da lista). Aqui segue um exemplo:
https://gist.github.com/benilton/1088208
Sobre o primeiro erro ("Error: unexpected symbol in "desvio padrão""),
nunca use nome de variaveis que contenham espaco em branco ou
acentuacao. Use algo como:
desvioPadrao = sd(nome_da_variavel)
Sobre o segundo erro ("Error in quantile(as.numeric(x), c(0.25, 0.75),
na.rm = na.rm, names = FALSE, :(list) object cannot be coerced to
type 'double' "): preste atencao no seu comando (quantile(dados[,-1],
etc))... "dados" e' um data.frame (uma extensao de uma lista) e o R
nao sabe como aplicar o quantile() neste objeto. Voce precisa fazer
uma coluna por vez:
apply(dados[,-1], 2, quantile, na.rm=TRUE)
Att, benilton
Em 13 de março de 2013 12:35, <alanarocha em sapo.pt> escreveu:
> Boa tarde, alguem me pode ajudar a corrigir estes erros?
> DADOS:
> Clínicas X2008 X2009 X2010 X2011 X2012
> 1 PBarca 82 87 87 87 87
> 2 Braga 84 85 86 89 87
> 3 Fafe 85 87 88 86 94
> 4 Maia 81 86 84 90 95
> 5 VNGaia 88 93 92 93 95
> 6 SMFeira 77 83 81 84 92
>
>
> # Estatística por ano
> porano<-apply(dados[,-1],2,function(x)c(summary(x),0)[1:7])
> desvio padrão<-sd(dados[,-1], na.rm= TRUE)
> Error: unexpected symbol in "desvio padrão"
> variância<-diag(var(dados[,-1], na.rm= TRUE))
> quantile(dados[,-1], probs = c(0.25, 0.75, NA)/100)
> ampinterquartil<-Iqr(matrix(as.numeric(dados[,-1], na.rm= TRUE)))
> Error in quantile(as.numeric(x), c(0.25, 0.75), na.rm = na.rm, names =
> FALSE, :
> (list) object cannot be coerced to type 'double'
> amplitude<-apply(dados[,-1],2,range, na.rm= TRUE)
> amplitudediff<-c(amplitude[2,] - amplitude[1,])
> rownames(porano) <- c('Minimo','Primeiro
> quartil','Mediana','Média','Terceiro Quartil','Máximo','NAs')
> poranol<-rbind(porano,desvio
> padrão,variância,amplitude,amplitudediff,ampinterquartil)
>>
>> colnames(porano) = 2008:2012
>> poranol
>
> X2008 X2009 X2010 X2011 X2012
> Minimo 66.000000 65.000000 62.000000 59.000000 60.000000
> Primeiro quartil 76.000000 84.000000 86.000000 88.250000 91.000000
> Mediana 80.000000 87.000000 89.500000 91.500000 94.000000
> Média 80.270000 86.290000 88.500000 90.500000 91.840000
> Terceiro Quartil 85.000000 89.500000 92.000000 95.000000 96.000000
> Máximo 94.000000 98.000000 98.000000 98.000000 99.000000
> NAs 4.000000 3.000000 3.000000 3.000000 0.000000
> desviopadrão 7.362374 6.254838 6.542402 7.439656 7.879345
> variância 54.204545 25.746212 21.530303 25.130682 12.780303
> 66.000000 65.000000 62.000000 59.000000 60.000000
> 94.000000 98.000000 98.000000 98.000000 99.000000
> amplitudediff 28.000000 33.000000 36.000000 39.000000 39.000000
>>
>> porano
>
> 2008 2009 2010 2011 2012
> Minimo 66.00 65.00 62.0 59.00 60.00
> Primeiro quartil 76.00 84.00 86.0 88.25 91.00
> Mediana 80.00 87.00 89.5 91.50 94.00
> Média 80.27 86.29 88.5 90.50 91.84
> Terceiro Quartil 85.00 89.50 92.0 95.00 96.00
> Máximo 94.00 98.00 98.0 98.00 99.00
> NAs 4.00 3.00 3.0 3.00 0.00
>>
>>
> eu preciso de ter o terceiro quartil menos o primeiro quartil
> e de ter mínimo menos 1,5 vezes terceiro quartil menos o primeiro quartil
> e o máximo mais 1,5 vezes o terceiro quartil menos o primeiro quartil
> ou seja obter a amplitude interquartil e os outliers.
> alguem tem algum exemplo?
> e que no grafico me apareça mínimo 1ºquartil mediana media 3ºquartil máximo
> e as dois tipos de amplitude.
>
> boxplot(dados[,-1], axes=FALSE) # O parametro axes=FALSE faz com que os
> eixos não sejam desenhados
> title(main= 'indicador eKtv sup 1_2 anual') # Acrescenta o título do gráfico
> title(xlab= 'Ano') # Acrescenta o titulo do eixo X
> title(ylab= 'Percentual') # Acrescenta o titulo do eixo Y
> box() # Desenha a caixa em torno do gráfico
> axis(2) # Coloca o eixo Y (o 2 ali representa o eixo Y) no gráfico
> axis(1, 1:5, 2008:2012) # Coloca no eixo X (representado pelo 1), nos pontos
> 1 a 5, as etiquetas 2008 a 2012.
>
>
> obrigada
> Ana Rocha
> _______________________________________________
> 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