如何在 R 中使用隨機值填充單個列的缺失值?
為了使用隨機值填充 R 中單個列的缺失值,我們可以使用 Hmisc 包中的 impute 函式。
例如,如果我們有一個名為 的資料框,其中包含一個名為 C 的列,該列有一些缺失值,那麼我們可以使用以下命令隨機填充這些缺失值:
df$C<-with(df,impute(C,"random"))
示例 1
以下程式碼片段建立了一個示例資料框:
x<-sample(c(NA,2,5),20,replace=TRUE) df1<-data.frame(x) df1
建立了以下資料框:
x 1 NA 2 NA 3 2 4 2 5 2 6 NA 7 NA 8 NA 9 2 10 5 11 NA 12 NA 13 NA 14 2 15 2 16 NA 17 5 18 5 19 5 20 NA
要載入 Hmisc 包並在 x 中隨機填充缺失值,請將以下程式碼新增到上述程式碼片段中:
library(Hmisc) df1$x<-with(df1,impute(x,"random")) df1
輸出
如果您將以上所有程式碼片段作為單個程式執行,它將生成以下輸出:
x 1 2 2 5 3 2 4 2 5 2 6 2 7 2 8 5 9 2 10 5 11 2 12 5 13 2 14 2 15 2 16 2 17 5 18 5 19 5 20 2
示例 2
以下程式碼片段建立了一個示例資料框:
y<-sample(c(NA,rnorm(3)),20,replace=TRUE) df2<-data.frame(y) df2
建立了以下資料框:
y 1 0.1912368 2 0.1912368 3 NA 4 0.1912368 5 -0.8921644 6 NA 7 -0.8921644 8 -0.8921644 9 0.3934629 10 NA 11 NA 12 0.3934629 13 0.1912368 14 0.3934629 15 0.3934629 16 0.1912368 17 -0.8921644 18 0.3934629 19 0.1912368 20 0.1912368
要隨機填充 y 中的缺失值,請將以下程式碼新增到上述程式碼片段中:
df2$y<-with(df2,impute(y,"random")) df2
輸出
如果您將以上所有程式碼片段作為單個程式執行,它將生成以下輸出:
y 1 0.1912368 2 0.1912368 3 0.1912368 4 0.1912368 5 -0.8921644 6 0.3934629 7 -0.8921644 8 -0.8921644 9 0.3934629 10 0.1912368 11 -0.8921644 12 0.3934629 13 0.1912368 14 0.3934629 15 0.3934629 16 0.1912368 17 -0.8921644 18 0.3934629 19 0.1912368 20 0.1912368
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP