【发布时间】:2014-11-21 08:02:54
【问题描述】:
我在 R 中使用 vcd 库来执行 2 个分类变量的马赛克图,每个分类变量都有多个级别。我必须自定义函数调用“马赛克”以解决我的标签重叠问题。
但是,我有两个关于此功能马赛克的问题:
- 为什么在简单调用完成后,长级别名称的正确换行符不会自动完成?通过查看各种 vcd 教程,它看起来默认情况下应该处理该函数。
- 为什么 vcd 正在绘制空单元格?例如,在我的数据框 study_filt 中,我没有观察到将同性恋变量设置为“其他”的情况。可以去掉吗?
>
library(dplyr)
library(vcd)
library(MASS)
load(url("http://bit.ly/dasi_gss_data"))
study=dplyr::select(gss,year,homosex,vetyears)
study=filter(study, year>1974)
study=filter(study, year<1995 | year>2009)
study=group_by(study,year)
study_filt = filter(study,!all(is.na(homosex)) && !all(is.na(vetyears)))
study_filt <- as.data.frame(study_filt)
对函数镶嵌的简单调用
vcd::mosaic(data=study_filt,~homosex+vetyears)
处理长级名称的自定义调用
vcd::mosaic(data=study_filt,~homosex+vetyears,
labeling=labeling_border(
rot_labels = c(90, 0, 90, 0),
just_labels=c("left","left","right","right"),
tl_varnames = FALSE,
gp_labels = gpar(fontsize = 9)))
【问题讨论】:
标签: r