Я работаю с фреймом данных by_class_survival и пытаюсь выполнить конвертацию в другом формате, меняя строки и столбцы, включая условия. Я уже решил очень простовато, но мне интересно, есть лилучший способ транспонировать столбцы и строки, плюс добавление условий на данный момент для создания транспонирования.
library(dplyr)
titanic_tbl <- dplyr::tbl_df(Titanic)
titanic_tbl <- titanic_tbl %>%
mutate_at(vars(Class:Survived), funs(factor))
by_class_survival <- titanic_tbl %>%
group_by(Class, Survived) %>%
summarize(Count = sum(n))
Исходный кадр данных
# Class Survived Count
# 1 1st No 122
# 2 1st Yes 203
# 3 2nd No 167
# 4 2nd Yes 118
# 5 3rd No 528
# 6 3rd Yes 178
# 7 Crew No 673
# 8 Crew Yes 212
Создание нового кадра данных на основе значений by_class_survival
first <- c(122,203)
second <- c(167, 118)
third <- c(528,178)
crew <- c(673,212)
titanic.df = data.frame(first,second,third,crew)
library(data.table)
t_titanic.df <- transpose(titanic.df)
rownames(t_titanic.df) <- colnames(titanic.df)
colnames(t_titanic.df) <- c("No survivor", "Survivor")
Ожидаемый результат
## No survivor Survivor
## first 122 203
## second 167 118
## third 528 178
## crew 673 212
Есть лучший способ достичь ожидаемого результата?