如何在 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