更改数据结构以在ggplot中创建正确的条形图

时间:2019-06-20 12:13:48

标签: r excel ggplot2 data-structures

我想用R制作图形,我设法用excel制作了图形。它是一个条形图,在x轴上具有种类,在y轴上具有观测值的对数。我目前在R中的数据结构不适合(我认为)制作该图,但我不知道如何(以一种聪明的方式)更改它。

除其他外,我还有一列“ camera_site”(站点1,site2 ..),“ species”(物种,agouti,paca ..),“ count”(1、2 ..),其中包含约50.000个观测值。

我尝试制作一个数据框,其中每个物种的种类分别为“物种”(有18种)和“ log(总观测值)”(see dataframe),但是我只能制作一个点图。

这就是我希望图形显示的样子: desired graph made in excel

1 个答案:

答案 0 :(得分:1)

从我的屏幕截图中可以看出,您的数据似乎格式正确。 假设您的data.frame被称为df,则需要得到如下图形的最小代码量如下:

ggplot(df, aes(VRM_species, log_obs_count_vrm)) +
  geom_col()

许多人凭直觉尝试geom_bar(),但是geom_col()等同于geom_bar(stat = "identity"),如果您已经预先计算了观测值并且不需要ggplot进行计数,就可以使用它为了你。 但是您可以通过添加一些内容来更好地装饰地块:

ggplot(df, aes(VRM_species, log_obs_count_vrm)) +
  geom_col() +
  scale_x_discrete(name = "Species") +
  scale_y_continuous(name = expression("Log"[10]*" Observations"),
                     expand = c(0,0,0.1,0)) +
  theme(axis.text.x = element_text(angle = 90))

当然,您可以根据需要自定义主题。

Groetjes