2014-11-12 2 views
2

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

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

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

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

ответ

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 
0

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

Смежные вопросы