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