R语言

关注公众号 jb51net

关闭
首页 > 软件编程 > R语言 > R语言删除指定数据

R语言入门教程之删除指定数据的方法

作者:统计学小王子

这篇文章主要介绍了R语言入门教程之删除指定数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

引言

在R学习中经常用到的是按着某种逻辑值提取数据集。本文来讲一下利用索引的手法删除数据集合。

数据准备

> Data
  英雄 职业 熟练等级 使用频次 胜率
1  后裔 射手  5  856 0.64
2 孙尚香 射手  5  211 0.10
3 狄仁杰 射手  5  324 0.20
4 李元芳 射手  4  75 0.30
5 安琪拉 法师  5  2324 0.40
6  张良 法师  4  755 0.50
7 不知火舞 法师  4  644 0.60
8  貂蝉 法师  3  982 0.70
9  <NA> <NA>  NA  NA NA

方案一:互斥法

> # 提取法师职业
> subset(Data, 职业 != "法师")
 英雄 职业 熟练等级 使用频次 胜率
1 后裔 射手 5 856 0.64
2 孙尚香 射手 5 211 0.10
3 狄仁杰 射手 5 324 0.20
4 李元芳 射手 4 75 0.30
> # 提取非法师职业
> subset(Data, 职业 != "法师")
 英雄 职业 熟练等级 使用频次 胜率
1 后裔 射手 5 856 0.64
2 孙尚香 射手 5 211 0.10
3 狄仁杰 射手 5 324 0.20
4 李元芳 射手 4 75 0.30
> # 提取胜率大于等于50%
> subset(Data, 胜率 >= 0.5)
 英雄 职业 熟练等级 使用频次 胜率
1 后裔 射手 5 856 0.64
6 张良 法师 4 755 0.50
7 不知火舞 法师 4 644 0.60
8 貂蝉 法师 3 982 0.70
> # 提取胜率小于50%
> subset(Data, 胜率 < 0.5)
 英雄 职业 熟练等级 使用频次 胜率
2 孙尚香 射手 5 211 0.1
3 狄仁杰 射手 5 324 0.2
4 李元芳 射手 4 75 0.3
5 安琪拉 法师 5 2324 0.4

方案一可以解决一部分的这类问题,但是这种方案需要你的全集不会有缺失值非数这样的其他不在全集里的事件。所以有下面第二种补充方法。

方案二:位置法

> n = which(Data$胜率 >= 0.5)
> Data[-n,]
 英雄 职业 熟练等级 使用频次 胜率
2 孙尚香 射手 5 211 0.1
3 狄仁杰 射手 5 324 0.2
4 李元芳 射手 4 75 0.3
5 安琪拉 法师 5 2324 0.4
9 <NA> <NA> NA NA NA

可以看到这种删除只删除了胜率大于等于50%,保留了缺失值。

总结

数据的增删改查是一般计算机语言基本的操作手段,应该有直接的函数进行操作。

到此这篇关于R语言入门教程之删除指定数据的方法的文章就介绍到这了,更多相关R语言删除指定数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文