r - 使用另一个数据帧的行索引(条件)过滤数据帧并组合该行
问题描述
df_1 是一个测试数据集。它包含玩家姓名和技能(数值)。
df_1 <- data.frame(Name=c('S. Becker','A. Dabasse','S. Yesil','Jeon Se Jin','Nicholas Aldair'),
`Weak Foot`=c(3,3,3,4,3),
`Skill Moves`=c(3,2,3,3,3),
Crossing=c(60,29,35,51,66),
Finishing=c(57,59,71,65,75),
HeadingAccuracy=c(42,62,48,54,72),
ShortPassing=c(60,57,58,61,74) )
# Name Weak.Foot Skill.Moves Crossing Finishing HeadingAccuracy ShortPassing
# S. Becker 3 3 60 57 42 60
# A. Dabasse 3 2 29 59 62 57
# S. Yesil 3 3 35 71 48 58
# Jeon Se Jin 4 3 51 65 54 61
# Nicholas Aldair 3 3 66 75 72 74
在使用模型(多逻辑)预测此数据的“位置”后,我得到了第二个数据帧 df_2。显然,由于这是一个 Logit 模型,它们是处于该特定位置的概率。( DEF FWD MID )
df_2 <- data.frame( DEF=c(5.73E-04,5.46E-06,2.08E-06,8.76E-06,6.56E-05),
FWD=c(0.4489639,0.9057274,0.9862491,0.9322038,0.8389187),
MID=c(0.55046347,0.09426718,0.01374878,0.06778743,0.16101569))
# DEF FWD MID
# 5.726046e-04 0.4489639 0.55046347
# 5.455446e-06 0.9057274 0.09426718
# 2.076482e-06 0.9862491 0.01374878
# 8.758119e-06 0.9322038 0.06778743
# 6.564988e-05 0.8389187 0.16101569
我只需要显示 df_1 的行和 df_2 的索引,其中MID的值位于前 2 位,以及包含此 MID 行。
期望的输出
# Name Weak.Foot Skill.Moves Crossing Finishing HeadingAccuracy ShortPassing MID
# S. Becker 3 3 60 57 42 60 0.55046347
# Nicholas Aldair 3 3 66 75 72 74 0.16101569
解决方案
尝试这个:
library(dplyr)
cbind(df_1,select(df_2,MID)) %>%
arrange(desc(MID)) %>%
slice(1:2)
#> Name Weak.Foot Skill.Moves Crossing Finishing HeadingAccuracy ShortPassing MID
#> 1 S. Becker 3 3 60 57 42 60 0.5504635
#> 2 Nicholas Aldair 3 3 66 75 72 74 0.1610157
推荐阅读
- java - python全局变量/java python翻译
- sql - 查询拥有最大休假的员工
- java - flyway 在远程位置运行基于 SQL 和 Java 的脚本
- javascript - 您似乎不依赖“@angular/core”。这是一个错误。角项目
- c# - 使用 OnActivation() 中的父对象作为参数
- reactjs - "Objects are not valid as React children - use an array" - but it is an array?
- c# - 用户应输入 int,如果输入了其他内容,则重复
- android - 如何检查使用 rxandroidble 取出的电池
- python - 如何与 Python 并行读取/处理大文件
- c++ - 打开 mp 三个 for 循环并减少