繁体   English   中英

使用 tidyr::fill 但使用特定的填充值

[英]use tidyr::fill but with specific values for fill

我试图找出一个与 tidyr::fill 非常相似的功能,但不是使用下一个或上一个条目而是寻求使用特定值。

举个例子

library(tibble)

xtest <- as.tibble(c(NA,NA, seq(10,70,10), NA, NA))
colnames(xtest)<- "data"
ytest <- tidyr::fill(xtest, 'data', .direction='down')
ytest <- tidyr::fill(ytest, 'data', .direction='up')
ytest

创建的小标题是:

    data
   <dbl>
 1    10
 2    10
 3    10
 4    20
 5    30
 6    40
 7    50
 8    60
 9    70
10    70
11    70

我想做的是将前两个 NA 替换为 0(而不是 10 秒),将后两个 NA 替换为 100(而不是 70 秒)。

.direction 选项接近但使用下一个或上一个条目。

是否有提供此功能的 fill() 替代方法?

您可以使用na.fill zoo中的 na.fill 。 您可以为数据的左侧、内部和右侧设置您想要的内容。 您还可以使用extend而不是值。

zoo::na.fill(xtest, c(0, "extend", 100))

       data
 [1,]     0
 [2,]     0
 [3,]    10
 [4,]    20
 [5,]    30
 [6,]    40
 [7,]    50
 [8,]    60
 [9,]    70
[10,]   100
[11,]   100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM