首页 > 解决方案 > 如何防止 R Expss 在输出数据框中将变量名称与行标签混合?

问题描述

使用 Expss 包运行表时,变量标签会​​与数据框中的每一行混合(表作为数据框输出)。请参阅下面的代码。您会注意到每个行标签前面都有变量标签“性别”和一个条形 | 特点。如何防止这种情况?

#Required packages
library(magrittr)
require("ggplot2") 
library(expss)

#Create dataframe
gen<-c("Male","Male","Female","Female")
data<-data.frame(gen)
names(data)<-"Q1"

#Apply var label
data = apply_labels(data,
Q1 = "Gender")

#Tabulate
tarb<-data %>%
tab_cells(Q1) %>%
tab_stat_cpct() %>%
tab_pivot()

#View table
tarb

#Check what is in the row_labels column - notice gender | prepended 

tarb$row_labels

标签: rexpss

解决方案


此行为是设计使然。如果您需要在单独的列中使用变量标签,您可以使用split_columns函数:

library(expss)

#Create dataframe
gen<-c("Male","Male","Female","Female")
data<-data.frame(gen)
names(data)<-"Q1"

#Apply var label
data = apply_labels(data,
                    Q1 = "Gender")

#Tabulate
tarb<-data %>%
    tab_cells(Q1) %>%
    tab_stat_cpct() %>%
    tab_pivot()


tarb = split_columns(tarb)
tarb
#                        #Total
# 1 Gender       Female     50
# 2                Male     50
# 3        #Total cases      4

推荐阅读