#r
#r
Вопрос:
Учитывая приведенные ниже примеры данных sampleDT
, я был бы признателен за любую помощь в создании функции, которая позволяет мне условно извлекать в список без повторения значения переменных, которые появляются во всех столбцах — по крайней мере, появляются один раз в каждом из столбцов независимо от позиции.
# sample data
sampleDT<-structure(list(V2 = c(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15),
V3 = c(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2), .indices = c(6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16), .indices3 = c(1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11)), row.names = c(NA, -11L), class = "data.frame")
Заранее спасибо за любую помощь.
Ответ №1:
Reduce(f = intersect, x = sampleDT)
[1] 6 7 8 9 10 11
Используйте intersect
операцию set для всех столбцов.
Reduce
это хороший способ написать intersect(intersect(sampleDT[[1]], sampleDT[[2]]), sampleDT[[3]]), ...))
Комментарии:
1. Отлично, @Gregor. Спасибо за это очень полезное и красивое решение.