在 RStudio 上将交叉表显示为绘图
Displaying a Cross-tabulation As a Plot on RStudio
我正在尝试使用 ggplot2 在 RStudio 上可视化交叉表。过去我已经能够创建绘图,并且也完成了交叉制表,但无法破解。有人可以帮忙吗?
这是我的 x-tab 代码:
library(dplyr)
data_dan %>%
group_by(Sex, Segment) %>%
count(variant) %>%
mutate(prop = prop.table(n))
这是我创建情节的方法:
#doing a plot
variance_art_new.plot = ggplot(data_dan, aes(Segment, fill=variant)) +
geom_bar(position="fill")+
theme_classic()+
scale_fill_manual(values = c("#fc8d59", "#ffffbf", "#99d594"))
variance_art_new.plot
这是我正在处理的数据示例:
Word Segment variant Position Sex
1 LIKE K R End Female
2 LITE T S End Male
3 CRACK K R End Female
4 LIKE K R End Male
5 LIPE P G End Female
6 WALK K G End Female
我的目标是将 'Sex'、'Segment' 的自变量绘制在箱线图上,并针对因变量 'variant'。
我包含了第一个代码来表明我可以创建一个 table 来显示这个交叉表,第二个代码是我通常为 运行 做的,只有一个自变量的箱形图。
我仍然不确定这是否完全符合您的要求,但如果您要求两个单独变量中的计数(或部分),您可以使用 facet_wrap
来分隔两组。
(注意,所有这些都是 运行 和 theme_set(theme_bw())
因为我更喜欢这种类型的情节。)
使用内置数据集 mtcars
您可以通过以下方式获得计数:
mtcars %>%
ggplot(aes(x = factor(cyl), fill = factor(gear))) +
geom_bar() +
facet_wrap(~vs)
或使用相反的排序:
mtcars %>%
ggplot(aes(x = factor(vs), fill = factor(gear))) +
geom_bar() +
facet_wrap(~cyl, labeller = label_both)
您还可以使用 position = "fill"
绘制组内分布
mtcars %>%
ggplot(aes(x = factor(vs), fill = factor(gear))) +
geom_bar(position = "fill") +
facet_wrap(~cyl, labeller = label_both) +
scale_y_continuous(name = "Within group Percentage"
, labels = scales::percent)
我正在尝试使用 ggplot2 在 RStudio 上可视化交叉表。过去我已经能够创建绘图,并且也完成了交叉制表,但无法破解。有人可以帮忙吗?
这是我的 x-tab 代码:
library(dplyr)
data_dan %>%
group_by(Sex, Segment) %>%
count(variant) %>%
mutate(prop = prop.table(n))
这是我创建情节的方法:
#doing a plot
variance_art_new.plot = ggplot(data_dan, aes(Segment, fill=variant)) +
geom_bar(position="fill")+
theme_classic()+
scale_fill_manual(values = c("#fc8d59", "#ffffbf", "#99d594"))
variance_art_new.plot
这是我正在处理的数据示例:
Word Segment variant Position Sex
1 LIKE K R End Female
2 LITE T S End Male
3 CRACK K R End Female
4 LIKE K R End Male
5 LIPE P G End Female
6 WALK K G End Female
我的目标是将 'Sex'、'Segment' 的自变量绘制在箱线图上,并针对因变量 'variant'。 我包含了第一个代码来表明我可以创建一个 table 来显示这个交叉表,第二个代码是我通常为 运行 做的,只有一个自变量的箱形图。
我仍然不确定这是否完全符合您的要求,但如果您要求两个单独变量中的计数(或部分),您可以使用 facet_wrap
来分隔两组。
(注意,所有这些都是 运行 和 theme_set(theme_bw())
因为我更喜欢这种类型的情节。)
使用内置数据集 mtcars
您可以通过以下方式获得计数:
mtcars %>%
ggplot(aes(x = factor(cyl), fill = factor(gear))) +
geom_bar() +
facet_wrap(~vs)
或使用相反的排序:
mtcars %>%
ggplot(aes(x = factor(vs), fill = factor(gear))) +
geom_bar() +
facet_wrap(~cyl, labeller = label_both)
您还可以使用 position = "fill"
mtcars %>%
ggplot(aes(x = factor(vs), fill = factor(gear))) +
geom_bar(position = "fill") +
facet_wrap(~cyl, labeller = label_both) +
scale_y_continuous(name = "Within group Percentage"
, labels = scales::percent)