0
votes

Extraire des valeurs moyennes d'un boxplot et effectuant un T.TEST

Je travaille avec un jeu de données que j'utilise pour développer des parcelles et gérer certaines statistiques. Voici mon jeu de données original:

> pacman::p_load(pacman, party, rio, tidyverse) 
> Cellphone_models <- read.csv("~/Desktop/Cellphone models.csv") 
> Cellphone_models <- read.csv("~/Desktop/Cellphone models.csv") 
> Cellphone_models
   Cellphone.model Dimensions Price
1          Model A       10.3   400
2          Model A       10.5   350
3          Model A       10.2   300
4          Model A       10.1   400
5          Model A       10.0   500
6          Model B       10.0   450
7          Model B       10.1   300
8          Model B       10.2   200
9          Model B        9.9    45
10         Model C       10.0   475
11         Model C       10.2   560
12         Model D        9.8   400
13         Model D        9.9   350
14         Model D       10.2   300
15         Model D       10.0   400
16         Model D       10.0   500
17         Model D       10.1   450
18         Model E        9.9   200
19         Model E        9.9    45
20         Model E        9.0   475
> Cellphone_models %>% group_by(Cellphone.model) %>% summarise_if(is.numeric, mean)
# A tibble: 5 x 3
  Cellphone.model Dimensions Price
  <fct>                <dbl> <dbl>
1 Model A               10.2  390 
2 Model B               10.0  249.
3 Model C               10.1  518.
4 Model D               10    400 
5 Model E                9.6  240


0 commentaires

3 Réponses :


0
votes

Vous pouvez le faire en utilisant GGPLot Geom's. Voici un exemple

require(tidyverse)
data(iris)
mean_tb = iris %>% group_by(Species) %>% summarise_if(is.numeric, mean)
ggplot() + geom_boxplot(data = iris, aes(x = Species, y= Sepal.Length)) + geom_point(data = mean_tb, aes(x=Species, y=Sepal.Length))


0 commentaires

0
votes

Comme vous le savez probablement, les parcelles de la boîte affichent la médiane des données. Puisque vous utilisez déjà dplyr code>, passons à ggplot2 code>. Nous pouvons ajouter la moyenne avec stat_summary code> et nous pouvons faire des comparaisons assez facilement avec stat_compare_mesans code> à partir de ggpubr code>.

Cellphone_models <- structure(list(Cellphone.model = structure(c(1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L
), .Label = c("Model A", "Model B", "Model C", "Model D", "Model E"
), class = "factor"), Dimensions = c(10.3, 10.5, 10.2, 10.1, 
10, 10, 10.1, 10.2, 9.9, 10, 10.2, 9.8, 9.9, 10.2, 10, 10, 10.1, 
9.9, 9.9, 9), Price = c(400L, 350L, 300L, 400L, 500L, 450L, 300L, 
200L, 45L, 475L, 560L, 400L, 350L, 300L, 400L, 500L, 450L, 200L, 
45L, 475L)), class = "data.frame", row.names = c("1", "2", "3", 
"4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", 
"16", "17", "18", "19", "20"))


0 commentaires

0
votes

Pour la deuxième question, vous pouvez essayer le code suivant?

library(broom)
df %>%
filter(Cellphone.model=="Model D" | Cellphone.model == "Model B") %>%
group_by(Cellphone.model) %>%
do(tidy(t.test(.$Dimensions))


0 commentaires