如何在R中删除多行(附实例)

1,626 阅读2分钟

你可以使用以下方法之一从R中的数据框中删除多条行。

方法1:删除特定行

#remove rows 2, 3, and 4
new_df <- df[-c(2, 3, 4), ]

方法2:删除行的范围

#remove rows 2 through 5
new_df <- df[-c(2:5), ]

方法3:删除最后N行

#remove rows 4 through last row
new_df <- df[-c(4:nrow(df)), ]

下面的例子展示了如何在实践中使用这些方法中的每一种,比如下面的数据框:

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E', 'F'),
                 points=c(99, 90, 86, 88, 95, 99),
                 assists=c(33, 28, 31, 39, 34, 24))

#view data frame
df

  team points assists
1    A     99      33
2    B     90      28
3    C     86      31
4    D     88      39
5    E     95      34
6    F     99      24

例1:删除特定的行

下面的代码显示了如何从数据框中删除第2、3和4行:

#define new data frame with rows 2, 3, 4 removed
new_df <- df[-c(2, 3, 4),]

#view new data frame
new_df

  team points assists
1    A     99      33
5    E     95      34
6    F     99      24

注意,第2、3、4行已经全部从数据框中删除。

例2:删除行的范围

下面的代码显示了如何删除2到5这个范围内的行:

#define new data frame with rows 2 through 5 removed
new_df <- df[-c(2:5),]

#view new data frame
new_df

  team points assists
1    A     99      33
6    F     99      24

注意,第2、3、4、5行已经被删除。

例3:删除最后N行

下面的代码显示了如何删除第4行到最后一行:

#remove rows 4 through last row
new_df <- df[-c(4:nrow(df)), ]

#view new data frame
new_df

  team points assists
1    A     99      33
2    B     90      28
3    C     86      31

注意,第4行和后面的所有行都被删除了。

其他资源

下面的教程解释了如何在R中进行其他常见的操作:

如何删除R中的重复行
如何计算R中的行数
如何删除R中含有部分或全部NA的行