Моя цель - создать именованный список реплик в каждом типе образца, чтобы я мог вызывать их с помощью samples$cell.wt.control
. У меня есть код, который работает, он просто нелепо длинный, и я чувствую, что должен быть более простой способ. Есть вопросы о том, как составлять именованные списки из двух векторов и как создавать все комбинации из двух векторов, но я ничего не мог найти, создав именованный список из всех комбинаций двух векторов, используя один в качестве имени результатов.
library(tidyverse)
samples_base = c("cell.wt.control",
"cell.wt.protein_ko",
"cell.mutant.control",
"cell.mutant.protein_ko")
replicates = LETTERS[1:3]
samples =
outer(samples_base, replicates, paste, sep = ".") %>% t %>% as.data.frame %>%
set_names(samples_base) %>%
mutate_if(is.factor, as.character) %>%
pivot_longer(starts_with("cell")) %>%
group_by(name) %>% summarize(sample = list(value)) %>% deframe
#$cell.mutant.control
#[1] "cell.mutant.control.A" "cell.mutant.control.B" "cell.mutant.control.C"
#$cell.mutant.protein_ko
#[1] "cell.mutant.protein_ko.A" "cell.mutant.protein_ko.B" "cell.mutant.protein_ko.C"
#$cell.wt.control
#[1] "cell.wt.control.A" "cell.wt.control.B" "cell.wt.control.C"
#$cell.wt.protein_ko
#[1] "cell.wt.protein_ko.A" "cell.wt.protein_ko.B" "cell.wt.protein_ko.C"