Skip to main content
 首页 » 编程设计

r中在 R 中合并两个平面列联表 (ftable)

2025年02月15日159insus

我正在制作一系列频率/列联表,理想情况下我想将它们放在一起

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

rbind 将它们放在一起,但您会丢失行名称和列名称。

我想知道我是否应该尝试从变量中获取级别并将它们放入(但这似乎是输入错误顺序的好机会)。我想我可以尝试转换为 data.frame 然后组合,但我想获得一些输入。

请您参考如下方法:

组合表不允许行变量有多个名称。

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