R语言 数据框架中用零替换NA值

R语言 数据框架中用零替换NA值

在这篇文章中,我们将讨论如何在R编程语言的数据框架中用0替换NA值。数据框中的NA值可以用以下函数替换为0。

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

is.na()是R语言中的一个内置函数,用于评估数据框中某个单元格的值。如果该值是NA或缺失,它返回一个真值,否则,它返回一个布尔假值。在这种方法中,我们在数据框的所有单元格上循环,如果数值是NA,我们就用0来代替它,对原始数据框进行修改。

语法: Dataframe[is.na(Dataframe)] = 0

参数 :Dataframe是我们希望对其进行数值替换的数据框。

例子

# 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)

输出

[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

方法2: 使用replace()方法

对有NA的数据帧单元进行重新分配的另一种方法是使用内置的R方法来替换这些值。is.na()方法用于评估数据元素是否有缺失或NA值,然后使用替换方法将此值替换为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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程