R语言 如何删除R数据框架中的行

R语言 如何删除R数据框架中的行

在这篇文章中,我们将讨论如何在R编程语言中从数据框架中删除行。

方法1:通过编号删除行

通过使用一个特定的行索引号,我们可以删除这些行。

语法:

data[-c(row_number), ]

其中。

  • data是输入的数据框架
  • row_number是行的索引位置

例子

# create a dataframe
data=data.frame(name=c("manoj","manoja","manoji","mano","manooj"),
                age=c(21,23,21,10,22))
  
# display by removing 4 th row
print(data[-c(4), ])
  
# display by removing 5 th row
print(data[-c(5), ])
  
# display by removing 1 st  row
print(data[-c(1), ])

输出

> print(data[-c(4), ])
    name age
1  manoj  21
2 manoja  23
3 manoji  21
5 manooj  22
> print(data[-c(5), ])
    name age
1  manoj  21
2 manoja  23
3 manoji  21
4   mano  10
> print(data[-c(1), ])
    name age
2 manoja  23
3 manoji  21
4   mano  10
5 manooj  22

我们也可以通过使用分片操作符来删除多条记录

语法:

data[-c(row_number_start:row_number_end), ]

其中。

  • data是输入的数据框架
  • row_number_start是起始行号
  • row_number_end是结束的行数。

例子

# create a dataframe
data=data.frame(name=c("manoj","manoja","manoji","mano","manooj"),
                age=c(21,23,21,10,22))
  
# display by removing row from 1 st to 4 th
print(data[-c(1:4), ])
  
# display by removing row from 1 st to 2 nd
print(data[-c(1:2), ])

输出

    name age
5 manooj  22
>
> # display by removing row from 1 st to 2 nd
> print(data[-c(1:2), ])
   name age
3 manoji  21
4   mano  10
5 manooj  22

我们也可以通过指定多个行的索引来删除多个行

语法:

data[-c(row numbers), ]

例子

# create a dataframe
data = data.frame(name=c("manoj", "manoja", "manoji", "mano",
                         "manooj"), age=c(21, 23, 21, 10, 22))
  
# display by removing 1,3,4 rows
print(data[-c(1, 3, 4), ])

输出

    name age
2 manoja  23
5 manooj  22

方法2:有条件地删除行

我们也可以使用subset()函数的条件

语法:

subset(dataframe,condition )

例子

# create a dataframe
data=data.frame(name=c("manoj","manoja","manoji","mano","manooj"),
                age=c(21,23,21,10,22))
  
# display by removing age less than 21
print(subset(data,age>21 ))

输出

    name age
2 manoja  23
5 manooj  22

方法3:删除有NA值的行

我们可以使用na.省略()函数从给定的数据框中删除包含NA值的行。

语法:

na.omit(dataframe)

例子

# create a dataframe
data=data.frame(name=c("manoj","manoja","manoji","mano","manooj"),
                age=c(21,23,21,10,22))
  
# display by removing age less than 21
print(na.omit(data))

输出

    name age
1  manoj  21
2 manoja  23
3 manoji  21
4   mano  10
5 manooj  22

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程