2
假設我想重新編碼向量等類爲qoute元素dplyr重新編碼
set.seed(123)
library(dplyr)
v<-sample(c("Y", "N", ""), 20, TRUE)
recode(v, `Y`=1, `N`=0, `""`=NA)
Error: `""` has type 'logical' not 'double'
我的問題是如何重新編寫元素""
在v
。
假設我想重新編碼向量等類爲qoute元素dplyr重新編碼
set.seed(123)
library(dplyr)
v<-sample(c("Y", "N", ""), 20, TRUE)
recode(v, `Y`=1, `N`=0, `""`=NA)
Error: `""` has type 'logical' not 'double'
我的問題是如何重新編寫元素""
在v
。
我們可以嘗試
recode(v, `Y`=1, `N`=0, `""` = NA_real_)
或者使用NA_integer
recode(v, `Y`=1L, `N`=0L, `""` = NA_integer_)
或者另一種選擇是case_when
tibble(v) %>%
mutate(v = case_when(v=='Y' ~1, v=='N' ~0, TRUE~NA_real_)) %>%
.$v
或用base R
NA^(!nzchar(v))*(v=='Y')
嘗試重新編碼(V,'Y' = 1,'N' = 0,.DEFAULT = NA_real_) – www