簡體   English   中英

使用data.table根據另一列中的因子水平在一個列中用新因子水平替換NAs

[英]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 CNAs 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.

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