簡體   English   中英

如何將分類變量二分為具有 1 和 0 的新變量但保持 NA?

[英]How to dichotomize categorical variables into a new variable with 1s and 0s but maintain NAs?

我正在嘗試在我的數據框中創建一個新變量,以用兩個分類答案封裝問題。 我希望能夠將這些轉換為 1 和 0。

我一直在使用ifelse() function 但我覺得它天生就想將NA值轉換為 0 在我的情況下。 在末尾添加na.rm=TRUE參數會給我一個錯誤。

data$Knowledge=ifelse(data$Variable=="Yes",1,0, na.rm=TRUE)

ifelse 錯誤(數據$Sabe.qué.trata.la.Ley.No.26378..Convención.sobre.los.Derechos.de.las.personas.con.discapacidad..sobre.las.personas.Sordas.o. hipoacúsicas. ==: 未使用的參數 (na.rm = TRUE)

ifelse()沒有na.rm參數(無論如何,您不想刪除NA值,您想在結果中傳遞它們)。 具有顯式邏輯的解決方案:嵌套ifelse

x <- c("Yes","No",NA)
ifelse(is.na(x),NA,ifelse(x=="Yes",1,0))

基於將邏輯值強制轉換為整數( TRUE -> 1, FALSE -> 0, NA -> NA )的更有效的解決方案

as.integer(x=="Yes")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM