如何对 ftable 中的列和行进行排序
How to order columns and rows in ftable
我想在 R 中对 ftable 的行和列重新排序。目前 table 如下所示:
现在我想切换 rows/columns,以便首先显示“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)
我使用的数据集可以在这里下载:
Dataset
感谢您的帮助!
一种方法是在自定义顺序中使用 levels
转换为 factor
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
class(读取数据后)。整数的默认排序是从最低整数值到最高整数值,即 0 到 1。要反转该顺序,我们转换为 factor
并在自定义顺序
中指定 levels
我想在 R 中对 ftable 的行和列重新排序。目前 table 如下所示:
现在我想切换 rows/columns,以便首先显示“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)
我使用的数据集可以在这里下载: Dataset
感谢您的帮助!
一种方法是在自定义顺序中使用 levels
转换为 factor
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
class(读取数据后)。整数的默认排序是从最低整数值到最高整数值,即 0 到 1。要反转该顺序,我们转换为 factor
并在自定义顺序
levels