[英]Create a new dataset based on the observations of the one and the column of the other
我正在嘗試解決我面臨的一個問題......假設我有這兩個數據集,一個是帶有基因靶標的葯物,另一個是帶有癌症基因的患者數據:
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 函數,但這對我沒有多大用處。 有沒有人有任何想法可以幫助我。 非常感謝!
假設第一個數據幀被稱為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'))
假設它們需要完全匹配,那么也許是這種方法。 第一個數據集上的pivot_longer
創建了一個基因葯物參考。 然后可以按基因left_join
患者和葯物數據。
這個問題說“學習”,但我認為這是一個匹配問題而不是機器學習問題?
library(tidyverse)
drug_df <- tribble(
~docetaxel, ~carboplatin,
"AR", "ACVR1C",
"CYP3A4", "ALDH1A1",
"ESR1", "ALDH3A1",
"NR3C1", "ARFGEF1",
"TACR2", "BAX",
"TDP1", "NOTCH/MAST",
"TP53", "BCL2L12",
"TUBA1A", "BIRC2",
"TUBA1B", "BRCA1"
) |>
pivot_longer(everything(), names_to = "drug", values_to = "gene")
patient_df <- tribble(
~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"
)
patient_df |>
left_join(drug_df, by = c("Breastcancergenes" = "gene"))
#> # A tibble: 10 × 3
#> Patient_ID Breastcancergenes drug
#> <dbl> <chr> <chr>
#> 1 1 ESR1-CCDC170 <NA>
#> 2 2 ESR1 docetaxel
#> 3 3 BCL2L14-ETV6 <NA>
#> 4 4 ETV6-NTRK3 <NA>
#> 5 5 MYB-NFIB <NA>
#> 6 6 NOTCH/MAST carboplatin
#> 7 7 ESR1 docetaxel
#> 8 8 ESR1-CCDC170 <NA>
#> 9 9 BCL2L14-ETV6 <NA>
#> 10 10 MYB-NFIB <NA>
由reprex 包於 2022-06-18 創建 (v2.0.1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.