我需要在时间轴中显示一系列事件。其中一些事件发生在公元之前。我在 R
中使用 timevis
。
到目前为止,我已经尝试过以下代码:
library("timevis")
d <- as.POSIXlt(as.Date("0001/01/01"))
d$year <- d$year -1
dates <- (as.Date(d))
names <- c("Test")
dt <- data.frame(start=dates,content=names)
print(dt)
timevis(dt, width = 900)
上面的代码显示了 timevis
中 0 年初的事件,这很奇怪,但现在不是问题。当我更改为:
d$year <- d$year -2
事件在时间线中跳转到 01/01/2001
我昨天刚刚开始使用 R
进行个人研究项目,之前我从未使用过任何其他语言的 BCE 日期。我尝试过lubridate
。
我考虑过这个问题Date sequence in R spanning B.C.E. to A.D ,但我想问是否有任何 timevis
解决方法,也许。因为这个时间线显示的是公元前几年。
格式化 BCE 日期的正确方法是什么?
我期待得到一些帮助 - 谢谢
最佳答案
有一个discussion最近在 github 上讨论了这个话题。使用其中的信息,您需要以下内容才能使其在 RStudio 和应用程序中运行:
- 将日期格式化为字符串
- 对于 BCE 日期,您需要一个减号作为前缀,并且年份总共需要 6 位数字:
"-002000-01-01"
- 对于 CE 日期,您总共需要 4 位数字来表示年份:
“0010-01-01”
在 RStudio 中适合我的示例代码:
library(timevis)
dt <- data.frame(content = c("test1", "test2", "test3", "test4"),
start = c("-000002-01-01", "-000001-01-01",
"0010-01-01", "0100-01-01"))
timevis(dt, width = 900)
关于R - 我应该如何格式化 B.C.E. timevis 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62928278/