Я написал код на R для выборки без замены из 3 отдельных векторов (list1, list2, list3). Я отбираю 10 раз из списка 1, 20 раз из списка 2 и 30 раз из списка 3. Затем я объединяю 3 списка случайных выборок и проверяю, сколько раз я выбирал одну и ту же строку 2 или 3 раза. Как мне автоматизировать это, чтобы я мог 100 раз выбрать и получить распределение частот? Например, я хочу увидеть, как часто я произвольно выбираю одну и ту же строку из всех трех списков. Спасибо за помощь.
Все входные данные представляют собой списки из тысяч строк, например:
list1:
V1
[1,] "EDA"
[2,] "MGN2"
[3,] "5RSK"
[4,] "NBLN"
Мой текущий код:
sample_list1 <-(sample(list1,10, replace=FALSE))
sample_list2 <-(sample(list2,20, replace=FALSE))
sample_list3 <-(sample(list3,20, replace=FALSE))
combined_randomgenes <- c(list1, list2, list3)
combined_counts <- as.data.frame(table(combined_randomgenes))
overlap_3_lists <- nrow(subset(combined_counts, Freq == 3))
overlap_2_lists <- nrow(subset(combined_counts, Freq == 2))
Если бы в моих 3 случайных выборках была только 1 строка, которая встречалась во всех 3 случайных выборках, тогда я ожидал бы, что overlap_3_lists будет содержать значение 1. Я хотел бы автоматизировать, чтобы получить распределение значений, чтобы я мог построить гистограмму для посмотрите, сколько раз бывает 0, 1, 2, 3 и т. д. одинаковых строк, которые выбираются во всех 3 списках.