引言
在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語言刪除指定數據內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!