Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中绘制图形时遇到的问题_R_Ggplot2 - Fatal编程技术网

在R中绘制图形时遇到的问题

在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=“身

我在R中使用palmer penguins数据集,目前在使用Summated函数进行绘图时遇到问题。下面是代码,任何提示都会有所帮助。我还在下面附上了一张预期图形输出的图片

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_()`.