首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据其中一个和另一个列的观察结果创建一个新的数据集

根据其中一个和另一个列的观察结果创建一个新的数据集
EN

Stack Overflow用户
提问于 2022-06-18 15:23:16
回答 1查看 38关注 0票数 0

我正试图解决我面临的一个问题.假设我有这两个数据集,一种是药物的基因靶点,另一种是癌症基因的病人数据:

代码语言:javascript
复制
docetaxel   carboplatin
AR      ACVR1C
CYP3A4  ALDH1A1
ESR1    ALDH3A1
NR3C1   ARFGEF1
TACR2   BAX
TDP1    NOTCH/MAST
TP53    BCL2L12
TUBA1A  BIRC2
TUBA1B  BRCA1

代码语言:javascript
复制
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中运行一个函数,它将创建一个新的数据集(第三个数据集),该数据集将从患者数据集的观察中学习,并与其他数据集的药物匹配。例如,如下所示:

代码语言:javascript
复制
patient id breastcancergenes drug
2            ESR1            docetaxel
4            BAX             NA
6            NOTCH/MAST      carboplatin

我试过了left_join函数,但这对我没什么用。有没有人能帮我。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-18 15:51:52

假设第一个dataframe称为df1,然后是第二个df2来获得您需要使用left_join连接它们的第三个数据,但在此之前,您需要首先使用pivot_longer使df1在每一行都有药物基因对,而不是当前的结构:

代码语言:javascript
复制
library(tidyverse)
df1 <- df1 %>% 
   pivot_longer(cols=everything(),names_to = 'drug',values_to='gene')

现在,可以将这两个数据帧连接起来:

代码语言:javascript
复制
df3 <- df2 %>% left_join(df1, by=c('Breastcancergenes'='gene'))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72670436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档