R中的3路频率表

时间:2014-11-02 21:35:25

标签: r frequency-analysis

我试图在R中编写一个三向频率表,但由于第三个变量,我感到磕磕绊绊。我希望桌子看起来像这样:

                            Lung Cancer
                            Yes      No
        City      Smoking
        Beijing     Yes     126      100
                    No      35       61
        Shanghai    Yes     908      688
                    No      497      807 

提前感谢您的建议!

2 个答案:

答案 0 :(得分:0)

实现这一目标的一种方法是使用by()。例如

by(data = my.data, INDICES = my.data$City, FUN = table, my.data$Smoking, my.data$LungCancer)

答案 1 :(得分:0)

创建数据

City <- c("Beijing", "Shanghai") 
Smoking <- c ("No", "Yes") 
LungCancer <- c("No", "Yes") 
health <- data.frame (City,Smoking, LungCancer)

三向交叉表 我找到了这个包

source("http://pcwww.liv.ac.uk/~william/R/crosstab.r")
crosstab(health, row.vars = c("City","Smoking"), col.vars = "LungCancer",addmargins = FALSE)

希望这会有所帮助: - )