dplyr возвращает совпадающие столбцы вместо строк - PullRequest
0 голосов
/ 26 июня 2018

Итак, у меня есть два фрейма данных, которые выглядят примерно так

Dataframe1
rsid      NA04015   NA16009   NA19117   NA16213 ...
rs2906360 0         0         1         0       ...
rs6936925 1         0         0         0       ...
rs####### 1         1         0         0       ...
...       ...       ...       ...       ...     ...

Dataframe2
rsid      NA04015   NA19117   ...
rs2906360 0.1332    -1.23     ...
rs4568525 0.47      0.252     ...
rs####### 1.43      0.232     ...
...       ...       ...       ... 

с помощью dplyr Я легко могу использовать semi_join(Dataframe1, Dataframe2), чтобы получить версию Dataframe1, которая содержит только те строки с соответствием rsids в Dataframe2. Однако я хочу вернуть версию dataframe1, которая содержит только те столбцы с соответствующим заголовком в dataframe2

поэтому мои результаты будут выглядеть примерно так:

Dataframe1_by_column
rsid      NA04015   NA19117   ...
rs2906360 0         1         ...
rs6936925 1         0         ...
rs####### 1         0         ...
...       ...       ...       ... 

Есть ли в dplyr простой синтаксис, который я могу использовать?

1 Ответ

0 голосов
/ 27 июня 2018

Это работает?

library(dplyr)

df1 <- data.frame(A="a", B="b", C="c", D="d")
df2 <- data.frame(A="a", D="d")

df1 <- df1 %>%
        select(one_of(names(df2)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...