如何在dplyr中使用带有na.Abrox()[线性插值]的fill_by_函数()
我正在浏览padr的文档:如何在dplyr中使用带有na.Abrox()[线性插值]的fill_by_函数(),r,date,dplyr,padr,R,Date,Dplyr,Padr,我正在浏览padr的文档: https://cran.r-project.org/web/packages/padr/vignettes/padr.html 稍微更改vignette示例以对数据使用线性插值(zoo::na.approx())会产生错误: library(tidyverse) library(padr) library(zoo) set.seed(123) emergency %>% filter(title == 'EMS: DEHYDRATION') %>
https://cran.r-project.org/web/packages/padr/vignettes/padr.html
稍微更改vignette示例以对数据使用线性插值(zoo::na.approx()
)会产生错误:
library(tidyverse)
library(padr)
library(zoo)
set.seed(123)
emergency %>%
filter(title == 'EMS: DEHYDRATION') %>%
thicken(interval = 'day') %>%
group_by(time_stamp_day) %>%
summarise(nr = n() + as.integer(runif(1, 1, 999)) ) %>%
pad()
结果:
# A tibble: 307 × 2
time_stamp_day nr
<date> <int>
1 2015-12-12 79
2 2015-12-13 42
3 2015-12-14 NA
4 2015-12-15 NA
5 2015-12-16 NA
6 2015-12-17 NA
7 2015-12-18 88
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA
# ... with 297 more rows
但我得到了以下错误:
Error in inds[i] <- which(colnames_x == as.character(cols[[i]])) :
replacement has length zero
IND中的错误[i]您只需变异
即可执行近似值
:
library(tibble);library(zoo)
emergency <- as_tibble(read.table(text="time_stamp_day nr
1 2015-12-12 79
2 2015-12-13 42
3 2015-12-14 NA
4 2015-12-15 NA
5 2015-12-16 NA
6 2015-12-17 NA
7 2015-12-18 88
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA",header=TRUE,stringsAsFactors=FALSE))
emergency %>% mutate(nr=na.approx(nr,na.rm =FALSE))
# A tibble: 10 × 2
time_stamp_day nr
<chr> <dbl>
1 2015-12-12 79.0
2 2015-12-13 42.0
3 2015-12-14 51.2
4 2015-12-15 60.4
5 2015-12-16 69.6
6 2015-12-17 78.8
7 2015-12-18 88.0
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA
库(tibble);图书馆(动物园)
紧急变异百分比(nr=na.近似值(nr,na.rm=FALSE))
#一个tibble:10×2
时间戳日编号
1 2015-12-12 79.0
2 2015-12-13 42.0
3 2015-12-14 51.2
4 2015-12-15 60.4
5 2015-12-16 69.6
6 2015-12-17 78.8
7 2015-12-18 88.0
8 2015-12-19北美
9 2015-12-20北美
10 2015-12-21北美
如果有人能添加#padr标签,我将不胜感激。谢谢@P——这当然有道理。我正在创建一个新变量,我应该使用mutate。
library(tibble);library(zoo)
emergency <- as_tibble(read.table(text="time_stamp_day nr
1 2015-12-12 79
2 2015-12-13 42
3 2015-12-14 NA
4 2015-12-15 NA
5 2015-12-16 NA
6 2015-12-17 NA
7 2015-12-18 88
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA",header=TRUE,stringsAsFactors=FALSE))
emergency %>% mutate(nr=na.approx(nr,na.rm =FALSE))
# A tibble: 10 × 2
time_stamp_day nr
<chr> <dbl>
1 2015-12-12 79.0
2 2015-12-13 42.0
3 2015-12-14 51.2
4 2015-12-15 60.4
5 2015-12-16 69.6
6 2015-12-17 78.8
7 2015-12-18 88.0
8 2015-12-19 NA
9 2015-12-20 NA
10 2015-12-21 NA