[英]Replacing NAs witha new factor level in one column based on factor level in another column using data.table
DATA = data.table(col_1 = factor(c("A", "B", "C", "C", "B", "A", "C")),
col_2 = factor(c("stuff", NA, NA, "stuff", NA, "different_stuff", NA)))
我有一個大數據集,其中我要用新的因子級別(例如yet_another_stuff
替換col2
中對應於col1
C
的NAs
。 NAs
超過了C
級的觀測值,我不想替換像B
一樣屬於其他級別的NAs
。
上載此數據集后,列已屬於類別因子。
由於數據集的大小,我非常希望使用data.table
包來這樣做。
我們可以在i
指定邏輯條件,並在'col_2'中分配與'yet_another_stuff'條件對應的那些值
DATA[is.na(col_2) & col_1 == "C", col_2 := "yet_another_stuff"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.