資料:
> library(tidyverse)
> df <- tibble(id = c(1, 1, 2, 2, 3, 3, 4, 5), condition = c(1, 0, -1, 1, 0, 3, 2, 10), distractor = c(10, 1, 10, 0.1, -5, 70, NA, 0.2))
> df
# A tibble: 8 × 3
id condition distractor
<dbl> <dbl> <dbl>
1 1 1 10
2 1 0 1
3 2 -1 10
4 2 1 0.1
5 3 0 -5
6 3 3 70
7 4 2 NA
8 5 10 0.2
包含用于過濾行的選擇標準的資料框:
> selection <- tibble(id = c(1, 2, 3), condition = c(1, -1, 0))
> selection
# A tibble: 3 × 2
id condition
<dbl> <dbl>
1 1 1
2 2 -1
3 3 0
如何id從滿足df的匹配中id過濾?selectioncondition
預期輸出:
id condition distractor
<dbl> <dbl> <dbl>
1 1 1 10
2 2 -1 10
3 3 0 -5
uj5u.com熱心網友回復:
您可以使用semi_join():
library(dplyr)
df %>%
semi_join(selection)
Joining with `by = join_by(id, condition)`
# A tibble: 3 × 3
id condition distractor
<dbl> <dbl> <dbl>
1 1 1 10
2 2 -1 10
3 3 0 -5
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/533029.html
標籤:rtidyverse
下一篇:在幾秒鐘內跟蹤運行時間
