如何在 r 中用 na 替换零(附示例)


您可以使用以下方法在R中将零替换为NA值:

方法 1:将所有列中的零替换为 NA

 df[df == 0 ] <- NA

方法 2:将列中的零替换为 NA

 df$col1[df$col1 == 0 ] <- NA

方法 3:在几个特定列中将零替换为 NA

 df[, c(' col1 ', ' col2 ')][df[, c(' col1 ', ' col2 ')] == 0 ] <- NA

以下示例展示了如何在实践中使用以下数据框使用每种方法:

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'),
                 pts=c(17, 12, NA, 9, 25),
                 rebs=c(3, 3, NA, NA, 8),
                 blocks=c(1, 1, 2, 4, NA))

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 NA

示例 1:将所有列中的零替换为 NA

以下代码展示了如何在数据帧的所有列中用 NA 值替换零:

 #replace zero with NA in all columns
df[df == 0 ] <- NA

#view updated data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 NA

请注意,数据帧的每一列中的零已被替换为 NA 值。

示例 2:将列中的零替换为 NA

以下代码展示了如何在数据帧的列中用 NA 值替换零:

 #replace zero with NA in 'rebs' column only
df$rebs[df$rebs == 0 ] <- NA

#view data frame
player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C 0 NA 2
4 D 9 NA 4
5 E 25 8 0

请注意,“rebs”列中的每个零都已替换为 NA,而所有其他列保持不变。

示例 3:在几个特定列中将零替换为 NA

下面的代码展示了如何在数据帧的几个特定列中用 NA 值替换零:

 #replace zero with NA values in 'pts' and 'rebs' columns only
df[, c(' pts ', ' rebs ')][df[, c(' pts ', ' rebs ')] == 0 ] <- NA

#view data frame
df

  player pts rebs blocks
1 to 17 3 1
2 B 12 3 1
3 C NA NA 2
4 D 9 NA 4
5 E 25 8 0

请注意,“pts”和“rebs”列中的每个零都已替换为 NA,而“blocks”列保持不变。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在R中用NA替换空格
如何在 R 中用字符串替换 NA
如何在 R 中用 Mean 替换 NA
如何在R中用中位数替换NA

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注