У меня следующий список файлов как listOfCELfiles
listOfCELfiles <- c(
"GSE20489/GSE20489_RAW//GSM514737.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514738.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514739.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514740.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514741.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514742.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514743.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514744.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514745.CEL.gz"
)
И кадр данных как timepoint_table
timepoint_table <- tibble(SampleID = c("GSM514737","GSM514738","GSM514739","GSM514740","GSM514741","GSM514742","GSM514743","GSM514744","GSM514745"),
SampleName = c("Blood_alcohol_T1_S13", "Blood_alcohol_T2_S13","Blood_OJalcohol_T3_S13","Blood_alcohol_T4_S13","Blood_OJalcohol_T5_S13","Blood_alcohol_T1_S15","Blood_alcohol_T2_S15","Blood_OJalcohol_T3_S15","Blood_OJalcohol_T4_S15"))
Итак, timepoint_table
выглядит так:
# A tibble: 9 x 2
SampleID SampleName
<chr> <chr>
1 GSM514737 Blood_alcohol_T1_S13
2 GSM514738 Blood_alcohol_T2_S13
3 GSM514739 Blood_OJalcohol_T3_S13
4 GSM514740 Blood_alcohol_T4_S13
5 GSM514741 Blood_OJalcohol_T5_S13
6 GSM514742 Blood_alcohol_T1_S15
7 GSM514743 Blood_alcohol_T2_S15
8 GSM514744 Blood_OJalcohol_T3_S15
9 GSM514745 Blood_OJalcohol_T4_S15
SampleID
является частью имен файлов в listOfCELfiles
Теперь я хочу удалить любой образец, кроме Blood_alcohol
из listOfCELfiles
путем сопоставления с timepoint_table
s SampleName
. Следующий код выбирает соответствующие SampleID
s из timepoint_table
timepoint_table %>%
filter(str_detect(SampleName, "^Blood_alcohol")) %>%
select(SampleID)
Но я не могу фильтровать listOfCELfiles
с этими SampleID
с (grepl
или str_detect
).
Мой ожидаемый вывод будет список, который содержит:
"GSE20489/GSE20489_RAW//GSM514737.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514738.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514740.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514742.CEL.gz",
"GSE20489/GSE20489_RAW//GSM514743.CEL.gz",