我正试图解决我面临的一个问题.假设我有这两个数据集,一种是药物的基因靶点,另一种是癌症基因的病人数据:
docetaxel carboplatin
AR ACVR1C
CYP3A4 ALDH1A1
ESR1 ALDH3A1
NR3C1 ARFGEF1
TACR2 BAX
TDP1 NOTCH/MAST
TP53 BCL2L12
TUBA1A BIRC2
TUBA1B BRCA1和
Patient ID Breastcancergenes
1 ESR1-CCDC170
2 ESR1
3 BCL2L14-ETV6
4 ETV6-NTRK3
5 MYB-NFIB
6 NOTCH/MAST
7 ESR1
8 ESR1-CCDC170
9 BCL2L14-ETV6
10 MYB-NFIB我想在r中运行一个函数,它将创建一个新的数据集(第三个数据集),该数据集将从患者数据集的观察中学习,并与其他数据集的药物匹配。例如,如下所示:
patient id breastcancergenes drug
2 ESR1 docetaxel
4 BAX NA
6 NOTCH/MAST carboplatin我试过了left_join函数,但这对我没什么用。有没有人能帮我。非常感谢!
发布于 2022-06-18 15:51:52
假设第一个dataframe称为df1,然后是第二个df2来获得您需要使用left_join连接它们的第三个数据,但在此之前,您需要首先使用pivot_longer使df1在每一行都有药物基因对,而不是当前的结构:
library(tidyverse)
df1 <- df1 %>%
pivot_longer(cols=everything(),names_to = 'drug',values_to='gene')现在,可以将这两个数据帧连接起来:
df3 <- df2 %>% left_join(df1, by=c('Breastcancergenes'='gene'))https://stackoverflow.com/questions/72670436
复制相似问题