R语言中根据数据框的顺序进行筛选的示例分析
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,本篇文章给大家分享的是有关R语言中根据数据框的顺序进行筛选的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目的这里有两个数据框,
千家信息网最后更新 2024年11月25日R语言中根据数据框的顺序进行筛选的示例分析错误的方法:用
结论:
本篇文章给大家分享的是有关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语言中根据数据框的顺序进行筛选的示例分析,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
系谱
数据
顺序
文件
错误
排序
两个
目的
示例
语言
分析
位置
方法
更多
父母
知识
篇文章
实用
相同
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库学生管理系统应用需求分析
软件开发都是学什么
c 软件开发简历
网络技术在大数据中的应用
海量数据关系型数据库的特点是
中药材图像数据库 mdx
云南服务器机柜直销价格
软件开发奖申请
青少年维护网络安全的例子
网络安全再排查
饥荒联机服务器无
数据库表的特性有哪些
新乡网络安全工程师培训费用
数据库显示通讯中断
赛季服哪些服务器开了安琪拉
阿里云服务器其他账号托管
计算机网络技术网站设计是什么
廊坊峰杰网络技术有限公司
探针网络安全公安
2021网络安全活动周的主题
重装服务器系统镜像
服务器异常处理
用于软件开发的电脑
数据库简明视频教程
java系统连接数据库
关于网络安全的论文800字
读职校学计算机网络技术好吗
5种常见的网络安全威胁
邳州市网络安全
委托软件开发研发合同