關于替換NA值的帖子很多。我知道可以用以下內容替換下表/框架中的NA:x[is.na(x)]<-0但是,如果我想將其限制為僅某些列呢?讓我給你看一個例子。首先,讓我們從數據集開始。set.seed(1234)x <- data.frame(a=sample(c(1,2,NA), 10, replace=T), b=sample(c(1,2,NA), 10, replace=T), c=sample(c(1:5,NA), 10, replace=T))這使: a b c1 1 NA 22 2 2 23 2 1 14 2 NA 15 NA 1 26 2 NA 57 1 1 48 1 1 NA9 2 1 510 2 1 1好的,所以我只想將替換限制為列“ a”和“ b”。我的嘗試是:x[is.na(x), 1:2]<-0和:x[is.na(x[1:2])]<-0哪個不起作用。我的data.table嘗試(where y<-data.table(x))顯然是行不通的:y[is.na(y[,list(a,b)]), ]我想在is.na參數中傳遞列,但這顯然行不通。我想在data.frame和data.table中執行此操作。我的最終目標是將'a'和'b'中的1:2編碼為0:1,同時保持'c'的原樣,因為它不是邏輯變量。我有一堆專欄,所以我不想一個接一個地做。而且,我只想知道如何執行此操作。你有什么建議嗎?
- 3 回答
- 0 關注
- 860 瀏覽
添加回答
舉報
0/150
提交
取消