如何解决如何在ftable中对列和行进行排序
我想在 R 中重新排序 ftable 的行和列。目前该表如下所示:
现在我想切换行/列,以便首先显示“1”的计数,然后显示“0”的计数。 例如,“antib”行应该切换,以便计数为“1”的行显示在计数为“0”的上方。
有没有办法做到这一点?
我使用了以下代码和数据:
library("tidyverse")
csectionrisks <- read.table("kaiserschnitt.raw",header=TRUE)
csectionrisks %>% mutate_if(is.character,as.numeric)
glimpse(csectionrisks)
attach(csectionrisks)
ftable(xtabs(n~antib+risk+nplan+infbin),row.vars=1:2)
感谢您的帮助!
解决方法
一种方法是按照自定义顺序使用 factor
转换为 levels
library(dplyr)
csectionrisks1 <- csectionrisks %>%
mutate(across(c(infbin,nplan,risk,antib),factor,levels = c(1,0)))
ftable(xtabs(n~antib+risk+nplan+infbin,data = csectionrisks1),row.vars=1:2)
-输出
# nplan 1 0
# infbin 1 0 1 0
#antib risk
#1 1 11 87 1 17
# 0 0 0 0 2
#0 1 23 3 28 30
# 0 0 9 8 32
'infbin'、'nplan'、'risk'、'antib' 列是 integer
类(读取数据后)。整数中的默认排序是从最低整数值到最高整数值,即 0 到 1。为了反转该顺序,我们转换为 factor
,并在自定义顺序中指定 levels
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。