在 R 中创建基于年份的时间线

Creating a timeline based on years in R

我对使用 R 进行编码还很陌生。我正在处理相对简单的数据,只是其中的大量数据。我正在尝试根据这些鲸鱼被发现的年份来创建一个时间表。所以我只有两个变量(年份和物种)和 151 个观测值。总共有 25 个物种绘制在这条时间线上,我在下面提供了我的数据的一个小例子。

year       species
1792    Megaptera novaeangliae
1792    Physeter macrocephalus
1793    Physeter macrocephalus
1832    Physeter macrocephalus
1833    Physeter macrocephalus

我试过使用 timelineS 和 timelineG 以及 vistime 创建时间线。 TimelineG 接近创建我想要的内容,但它似乎没有绘制任何内容。代码如下:

timelineG(t8, start="year", end="year", names="species")

timelineG results

我有点卡住了。我确实有看到该物种的月份和日期,所以如果需要我可以把它加回来。预先感谢您提供任何指导。

ggplot的例子:

library(tidyverse)
df <- tibble::tribble(
        ~year,                 ~species,
        1792L, "Megaptera novaeangliae",
        1792L, "Physeter macrocephalus",
        1793L, "Physeter macrocephalus",
        1832L, "Physeter macrocephalus",
        1833L,  "Physeter macrocephalu"
        )

df %>% 
  ggplot(aes(x = year, y = species)) +
  geom_point()

或使用timelineG函数:

library(timelineS)
df %>% 
  group_by(species) %>% 
  summarise(start = min(year),
            end = max(year)) %>% 
  timelineG(start = "start", end = "end", names = "species")

或者像这样使用 ,

dta <- data.frame(species = c('Megaptera novaeangliae','Physeter macrocephalus',
                              'Physeter macrocephalus','Physeter macrocephalus',
                              'Physeter macrocephalus'),
                  year = c(1792,1792,1793,1832,1833))

#str(dta)
dta$year <- as.Date(ISOdate(dta$year, 1, 1)) # assuming beginning of year for year 
# str(dta)


timelineS(dta, main = "BGoodwin's species example")