用 R DataFrame 中的零替换 NA 值
在本文中,我们将讨论如何在 R 编程语言中的 DataFrame 中将 NA 值替换为零。可以使用以下函数将数据帧中的 NA 值替换为 0。
方法一:使用 is.na()函数
is.na() 是 R 中的内置函数,用于评估数据框中单元格的值。如果值为 NA 或缺失,则返回真值,否则返回布尔假值。在这种方法中,我们遍历数据帧的所有单元格,如果值为 NA,我们将其替换为 0。对原始数据帧进行更改。
Syntax: Dataframe[is.na(Dataframe)] = 0
Arguments : Dataframe is the data frame we wish to perform replacement of values on.
例子:
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