R语言 如何找到数据框架中缺失值的百分比
在这篇文章中,让我们讨论一下如何在R编程语言中找到缺失值(NA)的百分比。缺失值的百分比表示没有明确的单元格值的数据单元格的比例。NA值的百分比可以用以下公式计算。
NA百分比=(有NA的单元格数量)*100/(单元格总数)。
方法1: 单元格总数可以通过使用R中内置的dim()函数的乘积来找到,该函数返回两个值,分别表示行和列的数量。
有NA值的单元格的数量可以分别使用R中的sum()和is.na()函数来计算。下面的代码片段首先评估每个数据单元的值,如果有缺失的值,则返回一个逻辑值为true,如果没有,则返回false。然后,使用sum()函数对这些NA值进行求和。
sum(is.na(data_frame))
# 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"))
print("Original data frame")
print(data_frame)
# calculating the product of dimensions of dataframe
totalcells = prod(dim(data_frame))
print("Total number of cells ")
print(totalcells)
# calculating the number of cells with na
missingcells = sum(is.na(data_frame))
print("Missing value cells")
print(missingcells)
# calculating percentage of missing values
percentage = (missingcells * 100 )/(totalcells)
print("Percentage of missing values' cells")
print (percentage)
输出
[1] "Original data frame"
C1 C2 C3
1 1 NA A
2 2 NA V
3 NA 3 j
4 0 8 y
[1] "Total number of cells "
[1] 12
[1] "Missing value cells"
[1] 3
[1] "Percentage of missing values' cells"
[1] 25
方法2: 我们可以简单地使用R中的mean()函数,将缺失的单元格除以单元格总数。首先使用is.na()函数来确定数据单元格的值是真还是假,然后对其应用mean()方法。由于每个数据单元的值都要进行评估,因此所需的时间复杂度与数据帧的大小成多项式关系。
# 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"),
C4=c(NA,NA,NA,NA))
print("Original data frame")
print(data_frame)
# calculating percentage of missing values
percentage = mean(is.na(data_frame)) * 100
print ("percentage of missing values")
print (percentage)
输出
[1] "Original data frame"
C1 C2 C3 C4
1 1 NA A NA
2 2 NA V NA
3 NA 3 j NA
4 0 8 y NA
[1] "percentage of missing values"
[1] 43.75