三变量散点图的R代码
嗨,我正在尝试为R中的三个变量编写散点图:三变量散点图的R代码,r,scatter-plot,R,Scatter Plot,嗨,我正在尝试为R中的三个变量编写散点图: Race= [0,1] YOI= [90,92,94] ASB_mean = [1.56, 1.59, 1.74] Antisocial <- read.csv(file = 'Antisocial.csv') Table_1 <- ddply(Antisocial, "YOI", summarise, ASB_mean = mean(ASB)) Table_1 Race <- unique(Antisocial
Race= [0,1]
YOI= [90,92,94]
ASB_mean = [1.56, 1.59, 1.74]
Antisocial <- read.csv(file = 'Antisocial.csv')
Table_1 <- ddply(Antisocial, "YOI", summarise, ASB_mean = mean(ASB))
Table_1
Race <- unique(Antisocial$Race)
Race
ggplot(data = Table_1, aes(x = YOI, y = ASB_mean, group_by(Race))) +
geom_point(colour = "Black", size = 2) + geom_line(data = Table_1, aes(YOI,
ASB_mean), colour = "orange", size = 1)
Race=[0,1]
YOI=[90,92,94]
ASB_均值=[1.56,1.59,1.74]
反社会的我不确定你想要的结果是什么。也许,如果我理解你的问题,我想你会想要这样的东西
g_Antisocial <- Antisocial %>%
group_by(Race) %>%
summarise(ASB = mean(ASB),
YOI = mean(YOI))
Antisocial %>%
ggplot(aes(x = YOI, y = ASB, color = as_factor(Race), shape = as_factor(Race))) +
geom_point(alpha = .4) +
geom_point(data = g_Antisocial, size = 4) +
theme_bw() +
guides(color = guide_legend("Race"), shape = guide_legend("Race"))
g_反社会%
组别(种族)%>%
总结(ASB=平均值(ASB),
YOI=平均值(YOI))
反社会%>%
ggplot(aes(x=YOI,y=ASB,颜色=as_因子(种族),形状=as_因子(种族)))+
几何点(α=0.4)+
几何点(数据=g_反社会,大小=4)+
主题_bw()+
辅助线(颜色=辅助线和图例(“比赛”)、形状=辅助线和图例(“比赛”))
这是输出:
我不确定您的设计输出是什么。也许,如果我理解你的问题,我想你会想要这样的东西
g_Antisocial <- Antisocial %>%
group_by(Race) %>%
summarise(ASB = mean(ASB),
YOI = mean(YOI))
Antisocial %>%
ggplot(aes(x = YOI, y = ASB, color = as_factor(Race), shape = as_factor(Race))) +
geom_point(alpha = .4) +
geom_point(data = g_Antisocial, size = 4) +
theme_bw() +
guides(color = guide_legend("Race"), shape = guide_legend("Race"))
g_反社会%
组别(种族)%>%
总结(ASB=平均值(ASB),
YOI=平均值(YOI))
反社会%>%
ggplot(aes(x=YOI,y=ASB,颜色=as_因子(种族),形状=as_因子(种族)))+
几何点(α=0.4)+
几何点(数据=g_反社会,大小=4)+
主题_bw()+
辅助线(颜色=辅助线和图例(“比赛”)、形状=辅助线和图例(“比赛”))
这是输出:
@Maninder:有几件事你需要看看
首先:ggplot()的图形语法适用于层。可以为要打印的不同几何图形添加具有不同数据(帧)的图层
代码不起作用的原因是混合了层调用,或者没有真正指定(甚至混合)所需的散点和线可视化
(一) 对散点图使用ggplot()+geom_point()
最终的第一层是:ggplot()
。将此视为您的绘图画布。
然后您谈到添加散点图图层,但实际上并没有这样做
例如:
# plotting antisocal data set
ggplot() +
geom_point(data = Antisocial, aes(x = YOI, y = ASB, colour = as.factor(Race)))
将使用散点(即geom_point()层)绘制反螺旋数据集。
请注意,我把种族作为一个因素,以有一个明确的配色方案,否则你可能会结束一个连续的调色板
(二) 线图
与上述类似,对于线图,您将得到以下结果:
# plotting Table_1
ggplot() +
geom_line(data = Table_1, aes(x = YOI, y = ASB_mean))
我保存显示线的绘图
(三) 结合不同层次
这将产生:
这应该可以解释ggplot分层是如何工作的。密切关注您想要使用的数据集和几何图形。在aes中使用继承之前,我建议将data=和aes()调用保留在geom_xxxx中。这避免了混乱
您可能希望使用geom_jitter()而不是geom_point()进行探索,以更好地展示数据集。绘制的“少数”点是位于同一位置的多个数据点(并过度绘制)的结果
从绘图转移到您的问题“我想按种族划分ASB与YOI的平均值。”
我对你的研究知之甚少,无法完全理解你的意思。
我认为你在整个人口中计算的平均ASB是你的参考值(即你的表1),你想看看种族群体的特征与这个人口的平均值是什么
一个选项是将您的比赛数据点分组,并将它们显示为每个YOI的箱线图。
这可能是你想要的。箱线图给出了中位数和四分位数,您可以将每组数据与计算的ASB平均值进行比较
出于演示目的,我通过增加线条的大小和线型来高亮显示该线条。你可以玩弄颜色等,给你的美学目标。
请注意,对于分组箱线图,还必须将整型变量YOI,I强制转换为分类因子。箱线图适用于车身填充(颜色仅设置外线)。在这个设置中,您还需要向geom_line()提供一个组值(我刚刚将其赋值为1,但这是任意的-在其他上下文中,您可以在此处赋值另一个变量)
希望这能让你走 @Maninder:有几件事你需要看看
首先:ggplot()的图形语法适用于层。可以为要打印的不同几何图形添加具有不同数据(帧)的图层
代码不起作用的原因是混合了层调用,或者没有真正指定(甚至混合)所需的散点和线可视化
(一) 对散点图使用ggplot()+geom_point()
最终的第一层是:ggplot()
。将此视为您的绘图画布。
然后您谈到添加散点图图层,但实际上并没有这样做
例如:
# plotting antisocal data set
ggplot() +
geom_point(data = Antisocial, aes(x = YOI, y = ASB, colour = as.factor(Race)))
将使用散点(即geom_point()层)绘制反螺旋数据集。
请注意,我把种族作为一个因素,以有一个明确的配色方案,否则你可能会结束一个连续的调色板
(二) 线图
与上述类似,对于线图,您将得到以下结果:
# plotting Table_1
ggplot() +
geom_line(data = Table_1, aes(x = YOI, y = ASB_mean))
我保存显示线的绘图
(三) 结合不同层次
这将产生:
这应该可以解释ggplot分层是如何工作的。密切关注您想要使用的数据集和几何图形。在aes中使用继承之前,我建议将data=和aes()调用保留在geom_xxxx中。这避免了混乱
您可能希望使用geom_jitter()而不是geom_point()进行探索,以更好地展示数据集。绘制的“少数”点是位于同一位置的多个数据点(并过度绘制)的结果
从绘图转移到您的问题“我想按种族划分ASB与YOI的平均值。”
我对你的研究知之甚少,无法完全理解你的意思。
我认为你在整个人口中计算的平均ASB是你的参考值(即你的表1),你会