在R中绘制图形时遇到的问题
我在R中使用palmer penguins数据集,目前在使用Summated函数进行绘图时遇到问题。下面是代码,任何提示都会有所帮助。我还在下面附上了一张预期图形输出的图片在R中绘制图形时遇到的问题,r,ggplot2,R,Ggplot2,我在R中使用palmer penguins数据集,目前在使用Summated函数进行绘图时遇到问题。下面是代码,任何提示都会有所帮助。我还在下面附上了一张预期图形输出的图片 ex1% 按性别、种类划分的组别%>% 总结(fmean_body=平均(body_mass_g))%>% ggplot(ex1,aes(x=年))+ 几何线(aes(x=2000年,y=车身质量,g/1000,线型=性别))+ 主题_bw()+ 面_包装(~种)+ 实验室(title=“随时间变化的平均体重”, y=“身
ex1%
按性别、种类划分的组别%>%
总结(fmean_body=平均(body_mass_g))%>%
ggplot(ex1,aes(x=年))+
几何线(aes(x=2000年,y=车身质量,g/1000,线型=性别))+
主题_bw()+
面_包装(~种)+
实验室(title=“随时间变化的平均体重”,
y=“身体质量(单位:千克)”)
错误:
`Summary()`已按“性别”对输出进行分组。可以使用“.groups”参数重写。
错误:应使用“aes()”或“aes_U4;()”创建映射。
我认为主要的问题是,一个管道操作员被留在了该行的末尾,上面有摘要功能
管道操作符告诉R,在第一个参数将显示的代码行中,到目前为止创建的对象ggplot还有一个额外的参数,ex1现在位于映射参数的位置
这将更容易发现代码中的其他错误
“年份”参数当前已被Summary函数删除。我们对所有值取平均值,因此年在ex1中不再存在,我们可以通过将年按函数添加到组_中来解决这个问题
此外,主体质量已被fmean_主体替换,因此当我们在geom_线中选择y轴时,我必须替换名称
库(palmerpenguins)
图书馆(tidyverse)
ex1%
#按年度添加组_
按性别、种类、年份划分的组别%>%
#移除未使用的管道操作员
总结(fmean_body=平均值(body_mass_g))
#>`summary()`已按“性别”、“种类”对输出进行分组。可以使用“.groups”参数重写。
ggplot(ex1,aes(x=年))+
#将body_mass_g变量替换为fmean_body
geom_线(aes(x=2000年,y=fmean_体/1000,线型=性别))+
主题_bw()+
面_包装(~种)+
实验室(title=“随时间变化的平均体重”,
y=“身体质量(单位:千克)”)
#>警告:已删除包含缺失值的2行(几何路径)。
由(v2.0.0)于2021-04-04创建
为了使其与预期的图像更加一致,我们必须进行更多的更改,这些更改包括向绘图添加形状参数、删除NA值以及使用scales软件包修改轴标签
库(palmerpenguins)
图书馆(tidyverse)
图书馆(比例尺)
ex1%
按性别、种类、年份划分的组别%>%
总结(fmean_body=平均(body_mass_g))%>%
#已删除/忽略NA值
过滤器(!is.na(性别))
#>`summary()`已按“性别”、“种类”对输出进行分组。可以使用“.groups”参数重写。
ggplot(ex1,aes(x=年))+
geom_线(aes(x=2000年,y=fmean_体/1000,线型=性别))+
#在绘图中添加点
几何点(aes(x=2000年,y=fmean_body/1000,形状=性别))+
#改良xticks
标度x连续(分界=c(7,8,9),标号=标号逗号(精度=1))+
主题_bw()+
面_包装(~种)+
实验室(title=“随时间变化的平均体重”,
y=“体重(千克)”,shape=“性别”,linetype=“性别”)
由(v2.0.0)于2021-04-04创建。在ggplot2代码之前有一个管道需要删除。此外,如果您希望按年度进行分析,则需要在汇总之前将其包含在您分组所依据的变量中。
ex1 <- penguins %>%
group_by(sex,species) %>%
summarise(fmean_body = mean(body_mass_g)) %>%
ggplot(ex1, aes(x = year))+
geom_line(aes(x = year-2000, y = body_mass_g/1000, linetype = sex))+
theme_bw()+
facet_wrap(~species)+
labs(title="Average Body Mass Over Time",
y="Body Mass (in kg)")
error:
`summarise()` has grouped output by 'sex'. You can override using the `.groups` argument.
Error: Mapping should be created with `aes()` or `aes_()`.