gpt4 book ai didi

尝试使用 ggplot2 生成时间序列时出现 R 错误

转载 作者:行者123 更新时间:2023-12-02 16:17:47 24 4
gpt4 key购买 nike

我正在尝试使用 R 中的 ggplot2 为每日天气数据生成一个时间序列图,以生成最高气温线,以便在同一图中将一年与另一年进行比较。

我的数据如下:

(head)

date value year DayOfYear
1 2013-01-01 9 2013 1
2 2013-01-02 10 2013 2
3 2013-01-03 12 2013 3
4 2013-01-04 10 2013 4
5 2013-01-05 10 2013 5
6 2013-01-06 9 2013 6

(tail)
date value year DayOfYear
405 2014-02-09 8 2014 40
406 2014-02-10 9 2014 41
407 2014-02-11 8 2014 42
408 2014-02-12 9 2014 43
409 2014-02-13 8 2014 44
410 2014-02-14 12 2014 45

我的方法似乎在这个程度上工作正常:

Gatmax$Date <- as.Date(Gatmax$date, '%d/%m/%Y')
Gatmax <- transform( Gatmax,
Year = format(Date, '%Y'),
DayOfYear = as.numeric( format(Date, '%j')))

但是当我用 ggplot2 绘制数据时:

library("ggplot2")
ggplot(Gatmax, aes(DayOfYear, value)) +
geom_line(aes(colour = year)) +
geom_point(aes(shape = year)) +
scale_shape_identity()

我收到以下错误:

Error in seq.default(from = best$lmin, to = best$lmax, by = best$lstep) : 
'from' must be of length 1

奇怪的是,一位经验丰富的 R 用户试图帮助我,但使用完全相同的脚本生成绘图时却没有收到错误消息。唯一的区别是他们在 Windows 中使用 R,而我使用 Linux。不过,我不认为这是操作系统问题,因为我相信 R 与平台无关。

非常感谢任何能够成功生成情节的线索。

最佳答案

这似乎是一个与数据相关的问题。

我曾经收到与您相同的错误消息,即“seq.default中的错误(from = best$lmin,to = best$lmax,by = best$lstep):'from'的长度必须为1”但只有当我使用

scales = "free"      # or
scales = "free_y"

但默认值(即未指定比例)或使用时没有问题

scales = "fixed"

我的解决方案是通过从包含 Y 轴数据的列中删除所有 NA 值来确保我的 data.frame 干净整洁。

关于尝试使用 ggplot2 生成时间序列时出现 R 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com