Объединить две плоские таблицы непредвиденных обстоятельств (ftable) в R?

Я делаю серию таблиц частоты/непредвиденных обстоятельств, и в идеале я хотел бы объединить их в одну.

tab1 <- ftable(xtabs( ~Survived+Age, Titanic))
tab2 <- ftable(xtabs( ~Class+Age, Titanic))

rbind объединяет их, но вы теряете имена строк и столбцов.

Мне интересно, следует ли мне попытаться получить уровни из переменных и вставить их (но это кажется хорошим шансом установить неправильный порядок). Я думаю, я мог бы попробовать преобразовать в data.frame, а затем объединить, но я хотел бы получить некоторые данные.


person James Holland    schedule 12.11.2014    source источник


Ответы (2)


Объединение таблиц не позволяет использовать несколько имен для переменных строк.

tab <- rbind(tab1, tab2)
class(tab) <- "ftable"
attr(tab, "col.vars") <- attr(tab1, "col.vars")
attr(tab, "row.vars") <- list(Var = unlist(c(attr(tab1, "row.vars"), 
                                             attr(tab2, "row.vars"))))

tab
#      Age Child Adult
# Var                 
# No           8     8
# Yes          8     8
# 1st          4     4
# 2nd          4     4
# 3rd          4     4
# Crew         4     4
person Sven Hohenstein    schedule 12.11.2014

У меня тоже была эта проблема. В итоге я создал таблицы непредвиденных обстоятельств в виде матрицы, где вы можете указать конкретные имена строк и столбцов, а затем вы можете преобразовать обратно в data.frame или сохранить как файл .csv.

person acmw    schedule 21.09.2016