[英]How to order columns and rows in 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)
我使用的數據集可以在這里下載: 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(讀取數據后)。 integer 中的默認排序是從最低 integer 值到最高值,即 0 到 1。為了反轉該順序,我們轉換為自定義順序中指定levels
的factor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.