控制R ggplot2

时间:2018-05-30 06:47:45

标签: r ggplot2

我的目标是根据协变量控制(或居中)的线性模型绘制geom_smooth(在第一个实例中)。我可以轻松生成一个绘制IV(x)和DV(y)的图表,但我似乎无法弄清楚如何调整协变量的DV。< / p>

变量:

"Age" = as stated (covariate to be controlled for)

"Gender" = as stated (covariate to be controlled for)

"O" = Openness (non-mean-centred personality trait - see "Omc")

"E" = Extraversion (the non-mean-centred independent variable to be plotted)

"Professionals" = Occupation (the non-mean-centred moderator variable to be plotted)

"Omc" = Mean-centred Openness (covariate to be controlled for in the lm model)

"Emc" = Mean-centred Extraversion (independent variable in the lm model)

"Pmc" = Mean-centred Professionals (moderator variable in the lm model)

"OxP" = Openness x Professionals interaction term (controlled for in the lm model)

"ExP" = Extraversion x Professionals interaction term (of primary interest in the lm model and serves as the justification for the ggplot)

以下是我对模型和相关图表的代码:

lm.js <- lm(Job_Very_Stressful ~ Age + Gender + Omc + Emc + Pmc + OxP + ExP, data = df.eg)
summary(lm.js)

ggplot(df.eg, aes(x = E, y = Job_Very_Stressful, col = Professionals)) + geom_smooth(method = "lm", alpha = 0.25) + labs(x = "Extraversion", y = "Job Stress") + theme(legend.title=element_blank(), legend.position = "top", text = element_text(size=13), axis.text = element_text(size=10), panel.grid.major = element_line(colour = "grey", size = 0.5, 3)) + coord_cartesian(ylim = c(1.00, 10.00), xlim = c(1.00, 7.00)) + scale_y_continuous(breaks = seq(1.00, 10.00, 0.50)) + scale_x_continuous(breaks = seq(1.00, 7.00, 1.00))

使用dput(head(df.eg, 50))的示例数据(这些数据不会产生重要的lm结果,但这并不重要):

structure(list(Age = c(37L, 66L, 33L, 55L, 60L, 61L, 27L, 54L, 
55L, 33L, 33L, 27L, 20L, 25L, 18L, 38L, 36L, 41L, 38L, 58L, 37L, 
32L, 45L, 24L, 51L, 37L, 15L, 48L, 43L, 19L, 49L, 39L, 38L, 28L, 
42L, 26L, 37L, 58L, 55L, 46L, 57L, 45L, 16L, 27L, 33L, 58L, 23L, 
60L, 30L, 24L), Gender = c(1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 
2L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 
1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 2L, 
2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 2L), O = c(6.16666666666667, 
4.16666666666667, 5.16666666666667, 4.66666666666667, 6.5, 4.66666666666667, 
3, 4.5, 5, 4.16666666666667, 3.5, 3.5, 4.66666666666667, 4.33333333333333, 
4.83333333333333, 3.66666666666667, 6, 5.5, 2, 4.66666666666667, 
3.16666666666667, 3.33333333333333, 3.66666666666667, 2.5, 4.33333333333333, 
6.83333333333333, 5, 4.16666666666667, 4.66666666666667, 5.5, 
4.33333333333333, 5.16666666666667, 3.5, 2.66666666666667, 5.33333333333333, 
2.16666666666667, 4, 4.16666666666667, 4.16666666666667, 3.83333333333333, 
2.83333333333333, 5.5, 3.33333333333333, 5.83333333333333, 4, 
2.83333333333333, 5, 3.83333333333333, 4.83333333333333, 5.83333333333333
), E = c(5.33333333333333, 5.16666666666667, 5.83333333333333, 
5.5, 5.33333333333333, 6.83333333333333, 4.5, 5, 6.83333333333333, 
4.66666666666667, 3, 4.5, 5.33333333333333, 6.16666666666667, 
5.16666666666667, 5.66666666666667, 6.5, 2, 3.16666666666667, 
3.16666666666667, 2.83333333333333, 4, 3.66666666666667, 3.16666666666667, 
4.16666666666667, 3.33333333333333, 6.5, 3.83333333333333, 4.33333333333333, 
2.83333333333333, 4, 4, 3, 5.33333333333333, 3.83333333333333, 
3.83333333333333, 4.33333333333333, 5.66666666666667, 4.33333333333333, 
5.83333333333333, 3.83333333333333, 2.66666666666667, 4.16666666666667, 
4.66666666666667, 4.5, 3.83333333333333, 6.5, 3.5, 4.33333333333333, 
5.5), Professionals = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Job_Very_Stressful = c(1L, 1L, 
5L, 7L, 1L, 3L, 5L, 5L, 4L, 6L, 4L, 1L, 2L, 2L, 2L, 4L, 2L, 1L, 
1L, 2L, 5L, 5L, 2L, 6L, 5L, 5L, 2L, 5L, 3L, 1L, 2L, 2L, 7L, 1L, 
2L, 3L, 5L, 1L, 3L, 3L, 5L, 6L, 3L, 4L, 4L, 3L, 3L, 1L, 3L, 5L
), Omc = c(1.76244927536232, -0.237550724637678, 0.762449275362322, 
0.262449275362322, 2.09578260869565, 0.262449275362322, -1.40421739130435, 
0.0957826086956519, 0.595782608695652, -0.237550724637678, -0.904217391304348, 
-0.904217391304348, 0.262449275362322, -0.0708840579710177, 0.429115942028982, 
-0.737550724637678, 1.59578260869565, 1.09578260869565, -2.40421739130435, 
0.262449275362322, -1.23755072463768, -1.07088405797102, -0.737550724637678, 
-1.90421739130435, -0.0708840579710177, 2.42911594202898, 0.595782608695652, 
-0.237550724637678, 0.262449275362322, 1.09578260869565, -0.0708840579710177, 
0.762449275362322, -0.904217391304348, -1.73755072463768, 0.929115942028982, 
-2.23755072463768, -0.404217391304348, -0.237550724637678, -0.237550724637678, 
-0.570884057971018, -1.57088405797102, 1.09578260869565, -1.07088405797102, 
1.42911594202898, -0.404217391304348, -1.57088405797102, 0.595782608695652, 
-0.570884057971018, 0.429115942028982, 1.42911594202898), Emc = c(0.843115942028983, 
0.676449275362322, 1.34311594202898, 1.00978260869565, 0.843115942028983, 
2.34311594202898, 0.00978260869565251, 0.509782608695653, 2.34311594202898, 
0.176449275362322, -1.49021739130435, 0.00978260869565251, 0.843115942028983, 
1.67644927536232, 0.676449275362322, 1.17644927536232, 2.00978260869565, 
-2.49021739130435, -1.32355072463768, -1.32355072463768, -1.65688405797102, 
-0.490217391304347, -0.823550724637677, -1.32355072463768, -0.323550724637678, 
-1.15688405797102, 2.00978260869565, -0.656884057971018, -0.156884057971017, 
-1.65688405797102, -0.490217391304347, -0.490217391304347, -1.49021739130435, 
0.843115942028983, -0.656884057971018, -0.656884057971018, -0.156884057971017, 
1.17644927536232, -0.156884057971017, 1.34311594202898, -0.656884057971018, 
-1.82355072463768, -0.323550724637678, 0.176449275362322, 0.00978260869565251, 
-0.656884057971018, 2.00978260869565, -0.990217391304347, -0.156884057971017, 
1.00978260869565), Pmc = c(0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 
0.5, 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 
-0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 
-0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5), OxP = c(0.881224637681161, 
-0.118775362318839, 0.381224637681161, 0.131224637681161, 1.04789130434783, 
0.131224637681161, -0.702108695652174, 0.047891304347826, 0.297891304347826, 
-0.118775362318839, -0.452108695652174, -0.452108695652174, 0.131224637681161, 
-0.0354420289855089, 0.214557971014491, -0.368775362318839, 0.797891304347826, 
0.547891304347826, -1.20210869565217, 0.131224637681161, -0.618775362318839, 
-0.535442028985509, -0.368775362318839, -0.952108695652174, -0.0354420289855089, 
1.21455797101449, -0.297891304347826, 0.118775362318839, -0.131224637681161, 
-0.547891304347826, 0.0354420289855089, -0.381224637681161, 0.452108695652174, 
0.868775362318839, -0.464557971014491, 1.11877536231884, 0.202108695652174, 
0.118775362318839, 0.118775362318839, 0.285442028985509, 0.785442028985509, 
-0.547891304347826, 0.535442028985509, -0.714557971014491, 0.202108695652174, 
0.785442028985509, -0.297891304347826, 0.285442028985509, -0.214557971014491, 
-0.714557971014491), ExP = c(0.421557971014491, 0.338224637681161, 
0.671557971014491, 0.504891304347826, 0.421557971014491, 1.17155797101449, 
0.00489130434782625, 0.254891304347826, 1.17155797101449, 0.0882246376811611, 
-0.745108695652174, 0.00489130434782625, 0.421557971014491, 0.838224637681161, 
0.338224637681161, 0.588224637681161, 1.00489130434783, -1.24510869565217, 
-0.661775362318839, -0.661775362318839, -0.828442028985509, -0.245108695652174, 
-0.411775362318839, -0.661775362318839, -0.161775362318839, -0.578442028985509, 
-1.00489130434783, 0.328442028985509, 0.0784420289855086, 0.828442028985509, 
0.245108695652174, 0.245108695652174, 0.745108695652174, -0.421557971014491, 
0.328442028985509, 0.328442028985509, 0.0784420289855086, -0.588224637681161, 
0.0784420289855086, -0.671557971014491, 0.328442028985509, 0.911775362318839, 
0.161775362318839, -0.0882246376811611, -0.00489130434782625, 
0.328442028985509, -1.00489130434783, 0.495108695652174, 0.0784420289855086, 
-0.504891304347826)), .Names = c("Age", "Gender", "O", "E", "Professionals", 
"Job_Very_Stressful", "Omc", "Emc", "Pmc", "OxP", "ExP"), row.names = 2275:2324, class = "data.frame")

1 个答案:

答案 0 :(得分:0)

share软件包最近已经发布,并且可以选择以协变量的平均值为中心。