Programa R para Biologia da Conservação
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

tapply médias

3 participantes

Ir para baixo

tapply médias Empty tapply médias

Mensagem por jfmorais13 Seg Abr 27, 2020 10:19 am

Quando construo o gráfico de médias usando plot (1:3, medias) como consigo colocar o nome das variáveis em x para cada ponto?
Se eu coloco xlab = "..." o nome é dado para todas o eixo das abscissas.
Obrigada Smile
jfmorais13
jfmorais13

Mensagens : 9
Data de inscrição : 31/03/2020

Ir para o topo Ir para baixo

tapply médias Empty Re: tapply médias

Mensagem por Prof. Marcos Seg Abr 27, 2020 4:13 pm

Boa tarde!

Bom, o caminho mais rápido é utilizar uma função que já faça isso automaticamente para você, como a lineplot.CI do pacote sciplot.

Mas no caso de um gráfico feito mais "manualmente", como você quer, uma opção é plotar sem eixos, e depois adicioná-los manualmente com a função axis(). Veja o exemplo:

Código:
#Dados:
data(iris)

#Médias:
médias<-tapply(iris$Sepal.Length, iris$Species, mean)

#Número de itens do eixo x:
x<-1:nlevels(iris$Species)

#Gráfico sem eixos:
plot(x, médias,  pch=16, xlab="Espécie", ylab="Comprimento das sépalas", axes=F)

#Eixo y:
axis(2, las=1)

#Eixo x:
axis(1, x, levels(iris$Species))

#Caixa:
box()

Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

tapply médias Empty Re: tapply médias

Mensagem por jfmorais13 Seg Abr 27, 2020 5:27 pm

Entendi. Muito obrigada!
jfmorais13
jfmorais13

Mensagens : 9
Data de inscrição : 31/03/2020

Ir para o topo Ir para baixo

tapply médias Empty Re: tapply médias

Mensagem por Carolina Lorieri Qua Jun 17, 2020 8:46 am

Gente

Aplicando meus conhecimentos adquiridos ao decorrer do curso no meu conjunto de dados do mestrado.
Eu consigo usar a função tapply para calcular média de apenas um dos níveis/indivíduo?

Por exemplo, meu conjunto de dados é

individuo dia_hr concentracao
fantastico:48 domingo :72 Min. : 1.59
halley :48 quinta-feira :72 1st Qu.: 17.32
imperio :48 sabado :72 Median : 28.59
lafuria :48 segunda-feira:72 Mean : 33.43
vietna :48 3rd Qu.: 44.08
vigor :48 Max. :143.50
NA's :17

Quero calcular a concentração media do fantastico na quinta-feira, por exemplo.

Como eu faço? Tentei concatenar, e tentei usar o as.factor mas não consegui inserir na função tapply, e chamando o healp da função tb não fui capaz de interpretar as possibilidades. Sad
Carolina Lorieri
Carolina Lorieri

Mensagens : 35
Data de inscrição : 01/04/2020

Ir para o topo Ir para baixo

tapply médias Empty Re: tapply médias

Mensagem por Prof. Marcos Qua Jun 17, 2020 5:21 pm

Oi, Carolina!

Neste caso não acho que o tapply vá ajudar, é melhor fazer de forma um pouco mais "manual" mesmo. Veja o exemplo que eu criei:

Código:
#Dados de exemplo:
dados<-structure(list(individuo = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("a",
"b"), class = "factor"), dia = structure(c(3L, 3L, 3L, 2L, 2L,
2L, 2L, 1L, 1L, 1L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 1L, 1L, 1L), .Label = c("domingo",
"quarta", "segunda"), class = "factor"), valor = c(19L, 12L,
49L, 37L, 37L, 49L, 25L, 24L, 37L, 37L, 15L, 29L, 13L, 34L, 22L,
47L, 38L, 11L, 41L, 11L)), class = "data.frame", row.names = c(NA,
-20L))

#Conferindo:
summary(dados)

#Escolhendo apenas os dados do índivíduo "a" no domingo:
dados$valor[dados$individuo=="a" & dados$dia=="domingo"]

#Calculando a média:
mean(dados$valor[dados$individuo=="a" & dados$dia=="domingo"])
Prof. Marcos
Prof. Marcos

Mensagens : 678
Data de inscrição : 23/12/2015
Idade : 42
Localização : Maceió, AL

https://cantinhodor.wordpress.com/

Ir para o topo Ir para baixo

tapply médias Empty Re: tapply médias

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos