Извлечение наиболее часто встречающихся элементов из столбца в файле данных в r

У меня есть большой набор данных, из которого мне нужно составить конкретные диаграммы. Это один набор данных из числа, сгенерированного моим аналитическим оборудованием. В настоящее время я пишу функцию, которая сможет автоматически анализировать эти наборы данных, и для этого я могу использовать столбец в наборе данных с именем "Метки".

Когда я использую table() Функция Я получаю содержимое и частоту столбца "Метки" я получаю следующее:

> table(datafile$Label)

 Blank     C1     C2    C3a    C3b    C3c     C4     DI     E1     E2     E3   High    Low Medium    Mid 
    11      9      9      9      9      9      9      3      9      9      9      3      3      3     13 
     P    pH3    pH5    pH7    pH9   test   Test 
     9      5      5      5      5      2      1 

Я хотел бы создать вектор, который я также назову "Метки", который будет содержать только метки, которые встречаются с частотой пять или более.

Затем я подумываю об использовании цикла for от 1 до длины "Метки" и подмножество таблицы данных, используя правило datafile$Labels == Labels[n], где n = 1:length(Labels), для создания диаграмм для каждого интересующего ярлыка по очереди.

Существует ли специальная функция, которая будет извлекать элементы из столбца, в котором можно задать условие, они встречаются пять или более раз? Так что из моего примера мой новый вектор "Метки" будет выглядеть следующим образом:

> Labels

[1]    "Blank" "C1" "C2" "C3a" "C3b" "C3c" "C4" "E1" "E2" "E3" "P" "pH3" "pH5" "pH7" "pH9"

Все предложения будут с благодарностью приняты.

Спасибо.

1 ответ

Решение

Мы можем подмножество table с логическим условием и получить names

tbl <- table(dataFile$Label)
names(tbl)[tbl > 5]
Другие вопросы по тегам