suppressWarnings({
suppressPackageStartupMessages({
library(dplyr)
library(knitr)
})
})
remove_repeats= function(x, cols){
remove_rep= function(df, this_col){
this_vec= as.character(unlist(df[,this_col]))
df[,this_col]= unlist(lapply(seq(length(rle(this_vec)$values)),
function(x) c(rle(this_vec)$values[x],
rep("", rle(this_vec)$lengths[x]-1))))
df
}
for(c in cols){
x= remove_rep(x, c)
}
x
}
df= as.data.frame(Titanic) %>%
arrange(Class, Sex, Age, Survived) %>%
select(Class, Sex, Age, Survived, Freq)
df= remove_repeats(df, c("Class", "Sex", "Age", "Survived"))
kable(df)
| 1st |
Male |
Child |
No |
0 |
|
|
|
Yes |
5 |
|
|
Adult |
No |
118 |
|
|
|
Yes |
57 |
|
Female |
Child |
No |
0 |
|
|
|
Yes |
1 |
|
|
Adult |
No |
4 |
|
|
|
Yes |
140 |
| 2nd |
Male |
Child |
No |
0 |
|
|
|
Yes |
11 |
|
|
Adult |
No |
154 |
|
|
|
Yes |
14 |
|
Female |
Child |
No |
0 |
|
|
|
Yes |
13 |
|
|
Adult |
No |
13 |
|
|
|
Yes |
80 |
| 3rd |
Male |
Child |
No |
35 |
|
|
|
Yes |
13 |
|
|
Adult |
No |
387 |
|
|
|
Yes |
75 |
|
Female |
Child |
No |
17 |
|
|
|
Yes |
14 |
|
|
Adult |
No |
89 |
|
|
|
Yes |
76 |
| Crew |
Male |
Child |
No |
0 |
|
|
|
Yes |
0 |
|
|
Adult |
No |
670 |
|
|
|
Yes |
192 |
|
Female |
Child |
No |
0 |
|
|
|
Yes |
0 |
|
|
Adult |
No |
3 |
|
|
|
Yes |
20 |