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