如何防止 R Expss 在输出数据框中将变量名称与行标签混合?
Posted
技术标签:
【中文标题】如何防止 R Expss 在输出数据框中将变量名称与行标签混合?【英文标题】:How to prevent R Expss from mixing variable name with row label in output data frame? 【发布时间】:2019-06-28 15:14:30 【问题描述】:当使用 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
【问题讨论】:
【参考方案1】:此行为是设计使然。如果您需要在单独的列中使用变量标签,您可以使用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
【讨论】:
不幸的是,命令“split_columns(tarb)”似乎并没有改变它。请使用 tarb$row_labels 或使用 R Commander 数据编辑器等查看器进行检查。 @CK7tarb = split_columns(tarb); str(tarb)
- 为我工作。拆分后没有row_labels
列。
请粘贴到答案框中,因为 *** 不允许我以评论的形式将您的回复标记为已回答/已解决。
@GregoryDemin 这个解决方案对这样的表格没有帮助:htmlTable(mpg %>% tab_rows(model %nest% class, total()) %>% tab_cols(fl)%>%tab_stat_sum()%>%tab_pivot())
如何删除文本“cell var”和“Sum”?
@Ben 您需要将标签添加到tab_sum
并使用tab_cells
为sum 指定单元格变量:htmlTable(mpg %>% tab_rows(model %nest% class, total()) %>% tab_cells(???) %>% tab_cols(fl)%>%tab_stat_sum(label = "")%>%tab_pivot())
以上是关于如何防止 R Expss 在输出数据框中将变量名称与行标签混合?的主要内容,如果未能解决你的问题,请参考以下文章