gpt4 book ai didi

R Zoo 包 : na. 当 NA 处于开头时大约改变向量的长度

转载 作者:行者123 更新时间:2023-12-03 08:56:39 25 4
gpt4 key购买 nike

zoo 包具有函数 na.approx(或 na.spline),它可以用近似值或样条线替换数据中的 NA。

一个潜在的论点是maxgap,它给出了需要填补的最大差距。这工作得很好,除了如果 NA 位于向量的开头时,该函数会更改向量的长度。

例如:

require(zoo)
x <- 1:20 + rnorm(20)
x1 <- x
x1[5] <- x1[6] <- NaN
length(na.approx(x1, maxgap = 1)) == length(x) # TRUE
x2 <- x
x2[1] <- x2[2] <- NaN
length(na.approx(x2, maxgap = 1)) == length(x) # FALSE

将此函数与数据框一起使用时会出现问题。例如:

require(dplyr)
df1 <- tibble(A = 1:20, B = x1)
df1 %>%
mutate(B_fill = na.approx(B, maxgap = 1))

df2 <- tibble(A = 1:20, B = x2)
df2 %>%
mutate(B_fill = na.approx(B, maxgap = 1))
# Error: Column `B_fill` must be length 20 (the number of rows) or one, not 18

最佳答案

当我问这个问题时,我找到了答案,只需更改 na.rm 参数即可。

df2 %>% 
mutate(B_fill = na.approx(B, maxgap = 1, na.rm = FALSE))

关于R Zoo 包 : na. 当 NA 处于开头时大约改变向量的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54832870/

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