R 用两个预测值绘制分类数据图
这个问题是我所问问题的延伸,数据稍微复杂一些。这看起来很基本,但我已经为此头痛了好几天了 我需要通过自变量R 用两个预测值绘制分类数据图,r,ggplot2,categorical-data,R,Ggplot2,Categorical Data,这个问题是我所问问题的延伸,数据稍微复杂一些。这看起来很基本,但我已经为此头痛了好几天了 我需要通过自变量ses(x轴)和agegroup(可能是堆叠条形图分组)创建因变量(choice)患病率百分比图。理想情况下,我希望这个情节是一个并排的两个方面的情节,每个性别有一个方面 我的数据的相关部分如下表所示: subject choice agegroup sex ses John square 2 Female
ses
(x轴)和agegroup
(可能是堆叠条形图分组)创建因变量(choice
)患病率百分比图。理想情况下,我希望这个情节是一个并排的两个方面的情节,每个性别有一个方面
我的数据的相关部分如下表所示:
subject choice agegroup sex ses
John square 2 Female A
John triangle 2 Female A
John triangle 2 Female A
Mary circle 2 Female C
Mary square 2 Female C
Mary rectangle 2 Female C
Mary square 2 Female C
Hodor hodor 5 Male D
Hodor hodor 5 Male D
Hodor hodor 5 Male D
Hodor hodor 5 Male D
Jill square 3 Female B
Jill circle 3 Female B
Jill square 3 Female B
Jill hodor 3 Female B
Jill triangle 3 Female B
Jill rectangle 3 Female B
... [about 12,000 more observations follow]
我想使用ggplot2
,因为它具有强大的功能和灵活性,以及明显的易用性。但我发现的每一个教程或指南都是从已经完成的90%的工作开始的,因为它们只是加载了R或其包提供的一个内置数据集。但我当然需要使用我自己的数据
我知道需要将其转换为longform,以便ggplot2
能够使用它,但我就是没能把它做好。我对所有不同的数据处理软件包感到更加困惑,有些软件包似乎是其他软件包的一部分,或者类似的东西
编辑:我开始意识到,按照我最初的问题,用线图来绘制是行不通的。至少我现在不这么认为。因此,这里有一个可能的绘制此数据集的方法的模型(使用完全虚构的值):
颜色表示对选择的不同响应
谁能帮我一下吗?如果您对更好地可视化数据有任何建议,请与我们分享 不确定我是否正确理解了您想要的输出。。这是第一次尝试
library( tidyverse )
df2 <- df %>%
mutate( agegroup = as.factor( agegroup ) ) %>%
group_by( ses, agegroup, sex, choice ) %>%
summarise( count = n() )
# ses agegroup sex choice count
# <fct> <fct> <fct> <fct> <int>
# 1 A 2 Female square 1
# 2 A 2 Female triangle 2
# 3 B 3 Female circle 1
# 4 B 3 Female hodor 1
# 5 B 3 Female rectangle 1
# 6 B 3 Female square 2
# 7 B 3 Female triangle 1
# 8 C 2 Female circle 1
# 9 C 2 Female rectangle 1
# 10 C 2 Female square 2
# 11 D 5 Male hodor 4
ggplot(df2, aes( x = ses, y = count, group=agegroup, colour = agegroup)) +
geom_point( stat='summary', fun.y=sum) +
stat_summary(fun.y=sum, geom="line") +
facet_grid( c("choice", "sex" ) )
库(tidyverse)
df2%
突变(年龄组=as.factor(年龄组))%>%
分组依据(ses、年龄组、性别、选择)%>%
总结(计数=n()
#ses年龄组性别选择计数
#
#1 A 2女性广场1
#2 A 2女性三角形2
#3 B 3女圈1
#4 B 3女霍多尔1
#5B3母矩形1
#6B3女广场2
#7 B 3女三角1
#8 C 2女圈1
#9C2母矩形1
#10C2女性广场2
#11 D 5男hodor 4
ggplot(df2,aes(x=ses,y=计数,组=年龄组,颜色=年龄组))+
几何点(stat='summary',fun.y=sum)+
统计汇总(fun.y=sum,geom=“line”)+
分面网格(c(“选择”、“性别”))
这显示了修订问题的点条形图和堆叠条形图。思考可视化的一些指导:你已经知道数据中的“故事”了吗?如果没有,那么您可能需要通过许多可视化来发现故事,构建最能显示故事的可视化
df── 附加包──────────────────────────────────────────────────────── tidyverse 1.2.1──
#> ✔ ggplot2.2.1✔ purrr 0.2.4
#> ✔ tibble 1.4.2✔ dplyr 0.7.4
#> ✔ tidyr 0.8.0✔ stringr 1.3.0
#> ✔ readr 1.1.1✔ 猫0.3.0
#> ── 冲突─────────────────────────────────────────────────────────── tidyverse_冲突()──
#> ✖ dplyr::filter()屏蔽stats::filter()
#> ✖ dplyr::lag()屏蔽stats::lag()
#年龄组读取为数字-转换为系数
df$年龄组%
总结()
DFU科目
#>#tibble:4 x 4
#>#组:受试者、年龄组、社会经济地位[?]
#>受试者年龄组性别
#>
#>1名Hodor 5 D男性
#>2吉尔3 B女
#>3约翰2女
#>4玛丽2 C女
#按主题计算比例选择
df_主题_选择%
#按最精细的组汇总计数以进行分析
分组依据(主题、选择)%>%
汇总(n=n())%>%
#根据计数计算比例
变异(p=属性表(n))
主题选择
#>#A tibble:11 x 4
#>#分组:受试者[4]
#>主题选择
#>
#>1 Hodor Hodor 4 1.00
#>2吉尔圆1 0.167
#>3吉尔·霍多尔10.167
#>4吉尔矩形1 0.167
#>吉尔广场5号20.333
#>6吉尔三角1 0.167
#>约翰广场7号10.333
#>8约翰三角2 0.667
#>9玛丽圈10.250
#>10.1 0.250
#>玛丽广场11号20.500
#通过连接将结果放在一起
df_已加入%
左联合(df_subject,by=“subject”)%>%
选择(受试者、ses、性别、年龄组、选项、p)
df_加入