можно ли применить transmute_at
к столбцу целых чисел в кадре данных, не получив сообщение об ошибке?
Есть ли другой вариант, кроме предварительного изменения этого конкретного столбца с двойной точностью?
MWE успешного приложения:
df <- data.frame("date" = seq.POSIXt(as.POSIXct(format(Sys.time(),"%F %T"),tz="UTC"),length.out=20,by="min"), "a.1" = as.double(seq(1,40,2)), "a.2" = rnorm(20,1,2), "b.1"= rnorm(20,1,4), "b.2"= rnorm(20,3,4))
df %>%
transmute_at(vars(matches('a.1|a.2')), ~ case_when(. < 1.5 ~ NA_real_,
TRUE~ .)) %>%
rename_at(vars(matches('a.1|a.2')), function(x) paste0(x,".clean")) %>% ## rename the clean Bs columns
bind_cols(df[,grep("b.|date",names(df))], .) -> df.2 ##bind cols to df with clean and dirty columns
MWE отказавшего приложения
df <- data.frame("date" = seq.POSIXt(as.POSIXct(format(Sys.time(),"%F %T"),tz="UTC"),length.out=20,by="min"), "a.1" = as.integer(seq(1,40,2)), "a.2" = rnorm(20,1,2), "b.1"= rnorm(20,1,4), "b.2"= rnorm(20,3,4))
df %>%
transmute_at(vars(matches('a.1|a.2')), ~ case_when(. < 1.5 ~ NA_real_,
TRUE~ .)) %>%
rename_at(vars(matches('a.1|a.2')), function(x) paste0(x,".clean")) %>% ## rename the clean Bs columns
bind_cols(df[,grep("b.|date",names(df))], .) -> df.2 ##bind cols to df with clean and dirty columns
Любая помощь приветствуется, спасибо,
Alex