欢迎来到代码驿站!

当前位置:首页 >

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

时间:2021-08-11 08:24:16|栏目:|点击:

引言

在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%,保留了缺失值。

总结

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

上一篇:被弃用的 Docker 会被 Podman 取代吗

栏    目:

下一篇:docker 容器上编译 go 程序提示找不到文件问题

本文标题:R语言入门教程之删除指定数据的方法

本文地址:http://www.codeinn.net/misctech/165911.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有