Функция %in%
, когда используется как: a %in% b
, будет определять, какие из элементов в векторе a
также присутствуют в векторе b
. Так что для каждого кластера я бы
- Извлечение членов этого кластера
- Учитывая список членов, в которых вы заинтересованы, подсчитайте, какие из них
%in%
этот кластер - который вернет логический вектор
- Вы можете использовать
sum()
на булевом векторе для подсчета количества истинных элементов (то есть количества элементов в вашем начальном векторе, которые присутствуют в этом кластере
- (При желании) вы можете нормализовать по длине кластера, чтобы получить процент этого кластера, который состоит из вашего списка интересов, или по длине списка, который вы составили, чтобы указать количество членов в вашем список, которые присутствуют в этом кластере.
Вы можете проходить через каждый кластер, используя for()
или вариант apply
.
Затем, учитывая all_wt_memb$csize
, у вас будет заданное значение, которое является вашей целью, и вы захотите найти ближайшее число. См. эту ссылку , но вы просто рассчитываете минимальную абсолютную разницу:
x=c(1:100)
your.number=5.43
which(abs(x-your.number)==min(abs(x-your.number)))