创建不规则时间序列图的最简单方法是什么?(使用R?GGPLOT?ITS?)

9

我是一名图形设计师,正在尝试使用R创建比Excel更复杂的图表。我特别想创建一个不规则时间序列步进图。我已经成功创建了一个常规时间序列图,但由于日期不规则,出现了问题。

我从一个基本的文本文件开始,其中包含两列数据:

01-04-1940    4
05-29-1963    35
12-02-2002    24

我已经使用了加载数据的方法

d <- read.delim("file.txt", header = TRUE)

我已经使用Unix时间将第一列转换了。

d$date <- as.Date(d$date, format = "%m-%d-%Y")

但是目前为止,我无法在任何地方找到更多关于如何继续的信息。我看过R包“ITS”,但除了有关所涉及类别的技术描述外,我找不到任何文档。

如果有一些R方面的经验可以指出我需要创建此图形的几行代码,我将非常感激。谢谢!


1
欢迎来到SO,@Alex。很好的第一个问题,附带有示例数据和代码。完美。+1 - Andrie
2个回答

6

ggplot 可以很好地处理日期格式的数据。以下是一些建议:

d <- data.frame(
    date = c("01-04-1940", "05-29-1963", "12-02-2002"),
    value = c(4, 35, 24)
)

d$date <- as.Date(d$date, format = "%m-%d-%Y")

ggplot(d, aes(x=date, y=value)) + geom_step(colour="blue")

enter image description here

ggplot(d, aes(x=date, y=value)) + geom_line(colour="red")

enter image description here


Andrie,抱歉再次打扰你。顺便感谢您的欢迎。我认为我接近了这个问题。我完全按照您的指示操作,只是在创建data.frame()时,我将value = delimtable$value和date = delimtable$date。但是当我运行程序时,出现了这个http://alexsciuto.com/screen.png。我的值范围是50-1,500,日期从1940年到2011年。我的值范围很大,会影响结果吗?再次感谢! - Alex
搞定了!我的数字列表里有逗号,这让R很困惑。把逗号去掉后,现在图表看起来很棒。 - Alex

2

我会使用xts/zoo这两个库,它们都可以轻松处理不规则的时间序列。

z <- zoo(d[,2], d[,1])
plot(z)
plot(z, type="s")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接