如何将 R 数据框中布尔列的 NA 值设置为 TRUE?
处理 NA 值是对分析员来说一项乏味且几乎每天都在做的任务,因此我们需要用适当的值替换它。如果在 R 数据框中,我们有一个布尔列表示 TRUE 和 FALSE 值,并且我们只有 FALSE 值,那么我们可能希望用 TRUE 替换 NA 值。在这种情况下,我们可以使用单个方括号和 is.na 将所有 NA 值设置为 TRUE。
示例
set.seed(999) S.No.<-1:20 Won<-sample(c(FALSE,NA),20,replace=TRUE) df1<-data.frame(S.No.,Won) df1
输出
S.No. Won 1 1 FALSE 2 2 NA 3 3 FALSE 4 4 FALSE 5 5 FALSE 6 6 NA 7 7 FALSE 8 8 NA 9 9 NA 10 10 NA 11 11 FALSE 12 12 FALSE 13 13 NA 14 14 FALSE 15 15 FALSE 16 16 FALSE 17 17 NA 18 18 NA 19 19 FALSE 20 20 FALSE
将 Won 列中的 NA 值设置为 TRUE −
df1["Won"][is.na(df1["Won"])]<-TRUE df1
输出
S.No. Won 1 1 FALSE 2 2 TRUE 3 3 FALSE 4 4 FALSE 5 5 FALSE 6 6 TRUE 7 7 FALSE 8 8 TRUE 9 9 TRUE 10 10 TRUE 11 11 FALSE 12 12 FALSE 13 13 TRUE 14 14 FALSE 15 15 FALSE 16 16 FALSE 17 17 TRUE 18 18 TRUE 19 19 FALSE 20 20 FALSE
我们来看另一个示例 −
示例
Group<-sample(1:4,20,replace=TRUE) Hot<-sample(c(FALSE,NA),20,replace=TRUE) df2<-data.frame(Group,Hot) df2
输出
Group Hot 1 3 FALSE 2 1 NA 3 3 NA 4 2 FALSE 5 2 FALSE 6 4 NA 7 3 NA 8 2 NA 9 3 FALSE 10 3 NA 11 3 NA 12 4 FALSE 13 4 NA 14 3 FALSE 15 4 FALSE 16 1 NA 17 4 NA 18 1 FALSE 19 2 NA 20 3 NA
将 Hot 列中的 NA 值设置为 TRUE −
df2["Hot"][is.na(df2["Hot"])]<-TRUE df2
输出
Group Hot 1 2 TRUE 2 1 FALSE 3 1 FALSE 4 3 TRUE 5 2 FALSE 6 4 FALSE 7 1 FALSE 8 3 TRUE 9 1 TRUE 10 3 TRUE 11 1 TRUE 12 1 TRUE 13 2 TRUE 14 2 TRUE 15 4 FALSE 16 4 FALSE 17 1 TRUE 18 3 FALSE 19 3 FALSE 20 3 TRUE
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP