gpt4 book ai didi

r - NA 时有条件地遮蔽 dygraph 时间序列的区域

转载 作者:行者123 更新时间:2023-12-04 08:14:29 25 4
gpt4 key购买 nike

我想添加背景阴影,其中时间序列中的值为 NA ,无需指定日期范围。 dygraphs 中的基本着色选项像这样工作:

library(dygraphs)
dygraph(nhtemp, main = "New Haven Temperatures") %>%
dyShading(from = "1920-1-1", to = "1930-1-1") %>%
dyShading(from = "1940-1-1", to = "1950-1-1")
我想为缺少的时间序列的约 50 个区域添加背景阴影,因此手动执行此操作是不可行的。举个简单的例子,我怎么知道 dygraphs为这个时间序列中的缺失值添加背景阴影而不指定日期范围?
nhtemp2 <- nhtemp
nhtemp2[10:20] <- NA
dygraph(nhtemp2, main = "New Haven Temperatures")

最佳答案

一个可能的解决方案:

library(dygraphs)

nhtemp2 <- nhtemp
nhtemp2[10:20] <- NA
nhtemp2[30:45] <- NA

# Convert years to DyShading date format
dates <- sprintf('%d-1-1',time(nhtemp2))

# find NA intervals
start = dates[which(diff(is.na(nhtemp2))==1)]
stop = dates[which(diff(is.na(nhtemp2))==-1)+1]


g <- dygraph(nhtemp2, main = "New Haven Temperatures")

# Loop over NA intervals to add shading
for (i in 1:length(start)) {
g <- dygraphs::dyShading(
g,
from = start[i],
to = stop[i],
color = 'lightgrey')
}
g
enter image description here
请注意,这仅适用于时间序列不以 NA 开头的情况。 ,但可以改进以应对此问题。

关于r - NA 时有条件地遮蔽 dygraph 时间序列的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65778931/

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