如何使用 dplyr 从数据框中删除最后一行


您可以使用以下方法从 R 中的数据框中删除最后一行:

方法一:删除数据框最后一行

 library (dplyr)

#remove last row from data frame
df <- df %>% filter(row_number() <= n()- 1 )

方法二:删除数据框的最后N行

 library (dplyr)

#remove last four rows from data frame
df <- df %>% filter(row_number() <= n()- 4 )

注意n()函数提取数据框中的总行数。

使用row_number() <= n() ,我们指定要过滤数据框以仅包含行号小于减去某个数字的行总数的行。

以下示例展示了如何在实践中使用以下数据框使用每种方法:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9
5 B 24 12
6 C 21 9
7 C 20 5
8 C 28 12

示例1:删除数据框的最后一行

以下代码显示了如何从数据框中删除最后一行:

 library (dplyr)

#remove last row from data frame
df <- df %>% filter(row_number() <= n()- 1 )

#view updated data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9
5 B 24 12
6 C 21 9
7 C 20 5

请注意,数据框的最后一行已被删除。

示例2:删除数据框的最后N行

以下代码显示如何从数据框中删除最后四行:

 library (dplyr)

#remove last four rows from data frame
df <- df %>% filter(row_number() <= n()- 4 )

#view updated data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9

请注意,数据框的最后四行已被删除。

注意:要从数据帧末尾删除不同数量的行,只需将代码中的4替换为不同的数字即可。

其他资源

以下教程解释了如何在 dplyr 中执行其他常用功能:

如何使用 dplyr 按索引选择列
如何使用 dplyr 按组对变量进行排序
如何在 dplyr 中用零替换 NA

添加评论

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