cargo mis datos de internet

df <- read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRwAhDYZx0K6yqhpy5hSRcVzq1v7yY0hdiIiI9iNmsYlNH-CHa7yECisfwxFi7ALQAiYO6E5iYy774C/pub?gid=826455234&single=true&output=csv")

los packages

library("tidyverse")
library("forcats")

como estan los datos

str(df)
'data.frame':   358 obs. of  4 variables:
 $ Colegio        : Factor w/ 5 levels "Canitas","El meli",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Curso          : Factor w/ 9 levels "Cuarto","Octavo",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Codigo         : int  3 1 1 0 0 3 4 3 0 4 ...
 $ Inasistencia...: int  2 5 1 5 1 1 6 1 1 3 ...

summary

summary(df)
           Colegio       Curso        Codigo      Inasistencia... 
 Canitas       :92   Sexto  :59   Min.   :0.000   Min.   : 0.000  
 El meli       :97   Cuarto :46   1st Qu.:1.000   1st Qu.: 4.000  
 Estaquilla    :66   Octavo :44   Median :1.000   Median : 6.000  
 Manuel gatica :45   Segundo:42   Mean   :1.662   Mean   : 7.891  
 Paraguay chico:58   Primero:41   3rd Qu.:3.000   3rd Qu.:10.000  
                     Quinto :40   Max.   :6.000   Max.   :35.000  
                     (Other):86                                   

agrupo colegio y curso , calculo promedios y de por codigo

df %>% 
  group_by(Colegio) %>% 
  summarise(n=n(), Promedio = mean(Codigo), DE = sd(Codigo), round(Promedio,2), round(DE,2)) %>% 
  ungroup()

agrupo por curso

df %>% 
  group_by(Curso) %>% 
  summarise(n=n(), Promedio = mean(Codigo), DE = sd(Codigo), round(Promedio,2), round(DE,2)) %>% 
  ungroup()

distribucion de los codigos

df %>% 
ggplot(aes(x=Codigo)) +
  geom_histogram(bins = 20)

grafica codigo por colegio (ordenada de menos a mas)

df %>% 
  mutate(Colegio = fct_reorder(Colegio, Codigo)) %>%
  ggplot(aes(x=Colegio,y=Codigo)) +
  geom_boxplot()+
  theme_classic()

grafica dispersión

df %>% 
  ggplot(aes(x=Codigo,y=Inasistencia...)) +
  geom_point()+
  geom_smooth()+
  theme_classic()

linea de tendencia

df %>% 
  ggplot(aes(x=Codigo,y=Inasistencia...)) +
  geom_point()+
    geom_smooth(method="lm")

graficas de dispersión para código según colegios

df %>% 
  ggplot(aes(x=Codigo,y=Inasistencia..., fill=Colegio)) +
  geom_point()+
  geom_smooth()+
  facet_wrap(~Colegio)

lo mismo pero ORDENADO por codigo segun colegios

df %>% 
   mutate(Colegio = fct_reorder(Colegio, Codigo)) %>%
  ggplot(aes(x=Codigo,y=Inasistencia..., fill=Colegio)) +
  geom_point()+
  geom_smooth()+
  facet_wrap(~Colegio)

codigos por curso

df %>% 
  ggplot(aes(x=Codigo,y=Inasistencia..., fill=Curso)) +
  geom_point()+
  geom_smooth()+
  facet_wrap(~Curso)

df1 <- read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRwAhDYZx0K6yqhpy5hSRcVzq1v7yY0hdiIiI9iNmsYlNH-CHa7yECisfwxFi7ALQAiYO6E5iYy774C/pub?gid=1691543918&single=true&output=csv")
df1 %>% 
  group_by(Da..o, Curso) %>% 
  summarise(n=n())

df3

df3 <- read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRwAhDYZx0K6yqhpy5hSRcVzq1v7yY0hdiIiI9iNmsYlNH-CHa7yECisfwxFi7ALQAiYO6E5iYy774C/pub?gid=63322584&single=true&output=csv")
df3 %>% 
  ggplot(aes(x=Curso, y=Porcentaje..., fill=Dano))+
  geom_col()+
  scale_fill_viridis_d(direction = -1) +
  coord_flip() +
  theme_minimal()+
  scale_fill_manual(values=c("indianred1", "deepskyblue"))
Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the
existing scale.

df4 <- read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRwAhDYZx0K6yqhpy5hSRcVzq1v7yY0hdiIiI9iNmsYlNH-CHa7yECisfwxFi7ALQAiYO6E5iYy774C/pub?gid=373814395&single=true&output=csv")
df4 %>% 
ggplot(aes(x=Curso, y=Porcentaje.asistencia..., fill=Asistencia))+
  geom_col()+
  scale_fill_viridis_d(direction = -1) +
  coord_flip() +
  theme_minimal()+
  scale_fill_manual(values=c("indianred1", "deepskyblue"))
Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the
existing scale.

LS0tCnRpdGxlOiAiMjAxOV9JbnZlc3RpZ2FjacOzbiBsb2NhbF9MdWNpYSBSb21lcm9fRnJhbmNpc2NhIE9ydGVnYSAiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KI2NhcmdvIG1pcyBkYXRvcyBkZSBpbnRlcm5ldApgYGB7cn0KZGYgPC0gcmVhZC5jc3YoImh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3NwcmVhZHNoZWV0cy9kL2UvMlBBQ1gtMXZSd0FoRFlaeDBLNnlxaHB5NWhTUmNWenExdjd5WTBoZGlJaUk5aU5tc1lsTkgtQ0hhN3lFQ2lzZnd4Rmk3QUxRQWlZTzZFNWlZeTc3NEMvcHViP2dpZD04MjY0NTUyMzQmc2luZ2xlPXRydWUmb3V0cHV0PWNzdiIpCmBgYAojbG9zIHBhY2thZ2VzCmBgYHtyfQpsaWJyYXJ5KCJ0aWR5dmVyc2UiKQpsaWJyYXJ5KCJmb3JjYXRzIikKYGBgCiNjb21vIGVzdGFuIGxvcyBkYXRvcwpgYGB7cn0Kc3RyKGRmKQpgYGAKI3N1bW1hcnkKYGBge3J9CnN1bW1hcnkoZGYpCmBgYAojYWdydXBvIGNvbGVnaW8geSBjdXJzbyAsIGNhbGN1bG8gcHJvbWVkaW9zIHkgZGUgcG9yIGNvZGlnbwpgYGB7cn0KZGYgJT4lIAogIGdyb3VwX2J5KENvbGVnaW8pICU+JSAKICBzdW1tYXJpc2Uobj1uKCksIFByb21lZGlvID0gbWVhbihDb2RpZ28pLCBERSA9IHNkKENvZGlnbyksIHJvdW5kKFByb21lZGlvLDIpLCByb3VuZChERSwyKSkgJT4lIAogIHVuZ3JvdXAoKQpgYGAKI2FncnVwbyBwb3IgY3Vyc28KYGBge3J9CmRmICU+JSAKICBncm91cF9ieShDdXJzbykgJT4lIAogIHN1bW1hcmlzZShuPW4oKSwgUHJvbWVkaW8gPSBtZWFuKENvZGlnbyksIERFID0gc2QoQ29kaWdvKSwgcm91bmQoUHJvbWVkaW8sMiksIHJvdW5kKERFLDIpKSAlPiUgCiAgdW5ncm91cCgpCmBgYAojZGlzdHJpYnVjaW9uIGRlIGxvcyBjb2RpZ29zCmBgYHtyfQpkZiAlPiUgCmdncGxvdChhZXMoeD1Db2RpZ28pKSArCiAgZ2VvbV9oaXN0b2dyYW0oYmlucyA9IDIwKQpgYGAKI2dyYWZpY2EgY29kaWdvIHBvciBjb2xlZ2lvIChvcmRlbmFkYSBkZSBtZW5vcyBhIG1hcykKYGBge3J9CmRmICU+JSAKICBtdXRhdGUoQ29sZWdpbyA9IGZjdF9yZW9yZGVyKENvbGVnaW8sIENvZGlnbykpICU+JQogIGdncGxvdChhZXMoeD1Db2xlZ2lvLHk9Q29kaWdvKSkgKwogIGdlb21fYm94cGxvdCgpKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKI2dyYWZpY2EgZGlzcGVyc2nDs24KYGBge3J9CmRmICU+JSAKICBnZ3Bsb3QoYWVzKHg9Q29kaWdvLHk9SW5hc2lzdGVuY2lhLi4uKSkgKwogIGdlb21fcG9pbnQoKSsKICBnZW9tX3Ntb290aCgpKwogIHRoZW1lX2NsYXNzaWMoKQpgYGAKI2xpbmVhIGRlIHRlbmRlbmNpYQpgYGB7cn0KZGYgJT4lIAogIGdncGxvdChhZXMoeD1Db2RpZ28seT1JbmFzaXN0ZW5jaWEuLi4pKSArCiAgZ2VvbV9wb2ludCgpKwogICAgZ2VvbV9zbW9vdGgobWV0aG9kPSJsbSIpCmBgYAojZ3JhZmljYXMgZGUgZGlzcGVyc2nDs24gcGFyYSBjw7NkaWdvIHNlZ8O6biBjb2xlZ2lvcyAKYGBge3J9CmRmICU+JSAKICBnZ3Bsb3QoYWVzKHg9Q29kaWdvLHk9SW5hc2lzdGVuY2lhLi4uLCBmaWxsPUNvbGVnaW8pKSArCiAgZ2VvbV9wb2ludCgpKwogIGdlb21fc21vb3RoKCkrCiAgZmFjZXRfd3JhcCh+Q29sZWdpbykKYGBgCiNsbyBtaXNtbyBwZXJvIE9SREVOQURPIHBvciBjb2RpZ28gc2VndW4gY29sZWdpb3MKYGBge3J9CmRmICU+JSAKICAgbXV0YXRlKENvbGVnaW8gPSBmY3RfcmVvcmRlcihDb2xlZ2lvLCBDb2RpZ28pKSAlPiUKICBnZ3Bsb3QoYWVzKHg9Q29kaWdvLHk9SW5hc2lzdGVuY2lhLi4uLCBmaWxsPUNvbGVnaW8pKSArCiAgZ2VvbV9wb2ludCgpKwogIGdlb21fc21vb3RoKCkrCiAgZmFjZXRfd3JhcCh+Q29sZWdpbykKYGBgCiNjb2RpZ29zIHBvciBjdXJzbyAKYGBge3J9CmRmICU+JSAKICBnZ3Bsb3QoYWVzKHg9Q29kaWdvLHk9SW5hc2lzdGVuY2lhLi4uLCBmaWxsPUN1cnNvKSkgKwogIGdlb21fcG9pbnQoKSsKICBnZW9tX3Ntb290aCgpKwogIGZhY2V0X3dyYXAofkN1cnNvKQpgYGAKCgoKYGBge3J9CmRmMSA8LSByZWFkLmNzdigiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hlZXRzL2QvZS8yUEFDWC0xdlJ3QWhEWVp4MEs2eXFocHk1aFNSY1Z6cTF2N3lZMGhkaUlpSTlpTm1zWWxOSC1DSGE3eUVDaXNmd3hGaTdBTFFBaVlPNkU1aVl5Nzc0Qy9wdWI/Z2lkPTE2OTE1NDM5MTgmc2luZ2xlPXRydWUmb3V0cHV0PWNzdiIpCmBgYAoKYGBge3J9CmRmMSAlPiUgCiAgZ3JvdXBfYnkoRGEuLm8sIEN1cnNvKSAlPiUgCiAgc3VtbWFyaXNlKG49bigpKQpgYGAKI2RmMwpgYGB7cn0KZGYzIDwtIHJlYWQuY3N2KCJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC9lLzJQQUNYLTF2UndBaERZWngwSzZ5cWhweTVoU1JjVnpxMXY3eVkwaGRpSWlJOWlObXNZbE5ILUNIYTd5RUNpc2Z3eEZpN0FMUUFpWU82RTVpWXk3NzRDL3B1Yj9naWQ9NjMzMjI1ODQmc2luZ2xlPXRydWUmb3V0cHV0PWNzdiIpCmBgYAoKYGBge3J9CmRmMyAlPiUgCiAgZ2dwbG90KGFlcyh4PUN1cnNvLCB5PVBvcmNlbnRhamUuLi4sIGZpbGw9RGFubykpKwogIGdlb21fY29sKCkrCiAgc2NhbGVfZmlsbF92aXJpZGlzX2QoZGlyZWN0aW9uID0gLTEpICsKICBjb29yZF9mbGlwKCkgKwogIHRoZW1lX21pbmltYWwoKSsKICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXM9YygiaW5kaWFucmVkMSIsICJkZWVwc2t5Ymx1ZSIpKQpgYGAKCgpgYGB7cn0KZGY0IDwtIHJlYWQuY3N2KCJodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9zcHJlYWRzaGVldHMvZC9lLzJQQUNYLTF2UndBaERZWngwSzZ5cWhweTVoU1JjVnpxMXY3eVkwaGRpSWlJOWlObXNZbE5ILUNIYTd5RUNpc2Z3eEZpN0FMUUFpWU82RTVpWXk3NzRDL3B1Yj9naWQ9MzczODE0Mzk1JnNpbmdsZT10cnVlJm91dHB1dD1jc3YiKQpgYGAKCmBgYHtyfQpkZjQgJT4lIApnZ3Bsb3QoYWVzKHg9Q3Vyc28sIHk9UG9yY2VudGFqZS5hc2lzdGVuY2lhLi4uLCBmaWxsPUFzaXN0ZW5jaWEpKSsKICBnZW9tX2NvbCgpKwogIHNjYWxlX2ZpbGxfdmlyaWRpc19kKGRpcmVjdGlvbiA9IC0xKSArCiAgY29vcmRfZmxpcCgpICsKICB0aGVtZV9taW5pbWFsKCkrCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzPWMoImluZGlhbnJlZDEiLCAiZGVlcHNreWJsdWUiKSkKYGBgCgoKCgo=