📜  用 R DataFrame 中的零替换 NA 值

📅  最后修改于: 2022-05-13 01:55:01.418000             🧑  作者: Mango

用 R DataFrame 中的零替换 NA 值

在本文中,我们将讨论如何在 R 编程语言中的 DataFrame 中将 NA 值替换为零。可以使用以下函数将数据帧中的 NA 值替换为 0。

方法一:使用 is.na()函数

is.na() 是 R 中的内置函数,用于评估数据框中单元格的值。如果值为 NA 或缺失,则返回真值,否则返回布尔假值。在这种方法中,我们遍历数据帧的所有单元格,如果值为 NA,我们将其替换为 0。对原始数据帧进行更改。

例子:

R
# declaring a data frame in R
data_frame = data.frame(C1 = c(1, 2, NA, 0),
                        C2 = c( NA, NA, 3, 8), 
                        C3 = c(9, 7, -1, NA))
  
# printing the data frame
print("Original Data Frame")
print (data_frame)
  
# replacing NA values in data frame
data_frame[is.na(data_frame)] = 0
  
# printing modified data frame
print("Modified data frame")
print (data_frame)


R
# declaring a data frame in R
data_frame = data.frame(C1 = c(1, 2, NA, 0),
                        C2 = c( NA, NA, 3, 8), 
                        C3 = c("A", "V", "j", "y"))
  
# printing the data frame
print("Original Data Frame")
print (data_frame)
  
# using replace method change the na value to 0
modified_data_frame <- replace(data_frame,is.na(data_frame),0)
  
print("Modified Data Frame")
print (modified_data_frame)


输出

[1] "Original Data Frame"
 C1 C2 C3
1  1 NA  9
2  2 NA  7
3 NA  3 -1
4  0  8 NA
[1] "Modified data frame"
 C1 C2 C3
1  1  0  9
2  2  0  7
3  0  3 -1
4  0  8  0

方法二:使用replace()方法

重新分配具有 NA 的数据帧单元格的替代方法是使用内置 R 方法来替换这些值。 is.na() 方法用于评估数据元素是否具有缺失值或 NA 值,然后使用 replace 方法将此值替换为 0。这些更改不会对原始数据框进行,但必须明确存放在那里。就数据帧大小而言,执行此操作所需的时间是多项式的。

modified_data_frame <- replace(data_frame,is.na(data_frame),0)

例子:

电阻

# declaring a data frame in R
data_frame = data.frame(C1 = c(1, 2, NA, 0),
                        C2 = c( NA, NA, 3, 8), 
                        C3 = c("A", "V", "j", "y"))
  
# printing the data frame
print("Original Data Frame")
print (data_frame)
  
# using replace method change the na value to 0
modified_data_frame <- replace(data_frame,is.na(data_frame),0)
  
print("Modified Data Frame")
print (modified_data_frame)

输出

[1] "Original Data Frame"
 C1 C2 C3
1  1 NA  A
2  2 NA  V
3 NA  3  j
4  0  8  y
[1] "Modified Data Frame"
 C1 C2 C3
1  1  0  A
2  2  0  V
3  0  3  j
4  0  8  y