Подмножество для минимального количества мест для 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
функция используется.