Подмножество для минимального количества мест для MCP в R, отбрасывая отдельные имена

У меня есть очень похожий вопрос, который был опубликован здесь: Подмножество для минимального количества мест для MCP в R

И здесь Подмножество данных кадра на основе количества строк на группу

Где я пытаюсь установить набор данных, отбрасывая всех людей с менее чем 5 наблюдениями.

df <- data.frame (name = c ("a", "a", "a", "a", "a", "a", "b", "b", "b"), x = 1: 9)

В этом случае сохраните только записи для отдельных "а"

Мне удается установить в качестве штрафа мой набор данных с любым из решений, опубликованных по ссылкам выше, но он все еще сохраняет имена всех людей с 0 записями

например, в моем наборе данных, таблица (имя df$)

шоу
аб
6 0

Вместо этого мне нужно полностью избавиться от этих людей из набора данных. (в противном случае я по-прежнему получаю строку с ошибкой "Требуется как минимум 5 перемещений, чтобы соответствовать домашнему диапазону", потому что там по-прежнему сохраняются имена с менее чем 5)

Уловка, которая делает это, чтобы запустить эту строку раньше:
ДФ $ имя<-as.numeric (ДФ $ имя)

6

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

Какие-либо предложения? Спасибо

1 ответ

Мне сложно дать ответ без вашего полного кода. Тем не менее, приведенный ниже код может решить вашу проблему.

df <- data.frame(name = c("a", "a", "a", "a", "a", "a", "b", "b", "b"),
                 x = 1:9)
ss_df <-subset(df, df$name == "a")
ss_df$name <- factor(ss_df$name)

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

Другие вопросы по тегам