如何在 r 中执行列表删除(带有示例)


列表删除是一种删除数据框中列中存在缺失值的所有行的方法。

在 R 中执行列表删除的最简单方法是使用以下语法:

 complete_df <- df[complete. boxes (df), ]

此语法使用complete.cases()函数创建一个新数据框,该数据框仅包含原始数据框中任何列中没有缺失值的行。

下面的例子展示了如何在实际中使用这个功能。

示例:在 R 中执行列表删除

假设我们在 R 中有以下数据框,其中包含有关各种篮球运动员的信息:

 #create data frame
df <- data. frame (rating=c(70, 75, 75, 78, 81, 85, 89, 91, 94, 97),
                 points=c(12, 15, 14, 13, NA, 29, 24, 18, 20, 25),
                 assists=c(9, 5, NA, 5, 7, 8, 11, 12, 13, 11))

#view data frame
df

   rating points assists
1 70 12 9
2 75 15 5
3 75 14 NA
4 78 13 5
5 81 NA 7
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

请注意,两行的某些列中包含 NA 值。

我们可以使用以下语法来执行列表删除,并只保留任何列中没有缺失值的行:

 #create new data frame that only contains rows with no missing values
complete_df <- df[complete. boxes (df), ]

#view new data frame
complete_df

   rating points assists
1 70 12 9
2 75 15 5
4 78 13 5
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

请注意,这个新数据框中的所有行在任何列中都不具有空值。

另请注意,我们可以使用nrow()函数来确定原始数据框中有多少行在任何列中存在缺失值:

 #count how many rows have missing values in any column
nrow(df[ ! complete. cases (df), ])

[1] 2

这告诉我们原始数据框中的2行至少有一列缺少值。

我们可以轻松地计算出有多少行在任何列中没有缺失值:

 #count how many rows do not have missing values in any column
nrow(df[complete. cases (df), ])

[1] 8

这告诉我们原始数据帧的8行在任何列中都没有缺失值。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在R中查找和计算缺失值
如何在R中插入缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注