亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言中根據數據框的順序進行篩選的示例分析

發布時間:2021-11-22 09:50:59 來源:億速云 閱讀:296 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關R語言中根據數據框的順序進行篩選的示例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

目的

這里有兩個數據框,兩者有相同的列(ID),這里想把第一個數據框,按照第二個數據框的ID列進行提取,順序和第二個數據框一致。

數據框1

> tt = data.frame(id = 1:10,y = rnorm(10))
> tt
   id          y
1   1  0.7264999
2   2 -1.3817018
3   3 -0.8626703
4   4  2.0663756
5   5  0.1997253
6   6  0.5968497
7   7 -0.8836847
8   8  2.2224643
9   9 -1.5825250
10 10 -0.1530456
   

數據框2

> id = data.frame(id = c(2,1,5,4,3))
> id
  id
1  2
2  1
3  5
4  4
5  3
   

錯誤的方法:用%in%進行提取,會自動排序

> # 使用 %in% 進行匹配時,會自動排序,不是id的順序
> tt[tt$id %in% id$id,]
  id          y
1  1  0.7264999
2  2 -1.3817018
3  3 -0.8626703
4  4  2.0663756
5  5  0.1997253
> id
  id
1  2
2  1
3  5
4  4
5  3
 

可以看到,匹配后的順序為1,2,3,4,5,而不是原來的2,1,5,4,3

 

正確的方法:用match記錄位置,然后根據位置提取

> # 使用match可以達到目的
> loc = match(id$id,tt$id)
> loc
[1] 2 1 5 4 3
> tt[loc,]
  id          y
2  2 -1.3817018
1  1  0.7264999
5  5  0.1997253
4  4  2.0663756
3  3 -0.8626703
   

結論:match真香

「完整代碼:」

# 模擬兩個數據框
tt = data.frame(id = 1:10,y = rnorm(10))
tt
id = data.frame(id = c(2,1,5,4,3))
id

# 使用 %in% 進行匹配時,會自動排序,不是id的順序
tt[tt$id %in% id$id,]
id

# 使用match可以達到目的
loc = match(id$id,tt$id)
loc
tt[loc,]

我的翻車記錄

本來我是有兩個系譜文件,第一個系譜文件比較多,但是有錯誤。第二個系譜文件是第一個系譜文件的子集,它的系譜是正確的。我想將第一個系譜文件錯誤的系譜矯正一下。

「我的思路:」

1,用%in%將第一個系譜的ID,根據第二個系譜的ID提取出來,然后用第二個系譜的Sire和Dam把第一個系譜相應的IID的Sire和Dam替換掉。如果第二個系譜本身是排序的,那么這樣操作是沒問題的。

「潛在的bug」

如果第二個系譜不是按順序排的,那么上面的操作就會有錯誤。比如類似(2,1,4,3,5),在匹配后的順序是(1,2,3,4,5),你用(1,2,3,4,5)的父母本,替換為(2,1,5,3,5)的父母本,肯定是錯誤的。

以上就是R語言中根據數據框的順序進行篩選的示例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜新| 合肥市| 凌云县| 灌阳县| 永州市| 岳阳县| 阳新县| 北京市| 普格县| 扎赉特旗| 涡阳县| 张北县| 菏泽市| 武功县| 平邑县| 工布江达县| 和政县| 涿州市| 瑞安市| 辉县市| 衡水市| 木里| 喀喇沁旗| 南丰县| 团风县| 谷城县| 岱山县| 平阴县| 阳春市| 铜陵市| 河源市| 安丘市| 普安县| 安康市| 乌拉特前旗| 金溪县| 英山县| 盐池县| 外汇| 西乌| 江阴市|