R - выбрать случаи так, чтобы среднее значение переменной было заданным числом - PullRequest
0 голосов
/ 16 апреля 2020

Ранее я работал над проектом, в котором мы изучали некоторые социологические данные. Я сделал описательную статистику, и через несколько месяцев меня попросили сделать некоторые графики из статистики.

Я сделал графики, но что-то показалось странным, и когда я сравнил график с числами в отчете, я заметил, что они разные. Проведя дальнейшие исследования, я заметил, что мой код очистки (который удалял участников с двойными идентификаторами) теперь приводит к большему количеству строк, например, больше участников с уникальными идентификаторами, чем ранее. У меня сейчас 730 участников, тогда как раньше было 702, я не знаю, было ли это из-за обновлений некоторых пакетов, и, к сожалению, я не могу опубликовать фактические данные здесь, потому что это конфиденциально, но я пытаюсь выяснить, кто эти 28 участников и что произошло в данных.

Поэтому я хотел бы знать, существует ли метод, который позволяет пользователю фильтровать случаи так, чтобы среднее значение некоторых переменных было заданным числом. В идеале это было бы примерно так, но, конечно, я знаю, что это не сработает в такой форме:

iris %>% 
  filter_if(mean(.$Petal.Length) == 1.3) 

Я знаю, что это была неправильная попытка, но я не знаю другого способа Я бы попробовал это, поэтому я ищу помощь и предложения.

1 Ответ

1 голос
/ 16 апреля 2020

Я не уверен, что это решаемая проблема, но вы можете получить что-то, выполнив следующее:

Во-первых, выясните, какова была сумма переменной в вашем исходном анализе, и что это такое. сейчас:

old_sum <- 702 * old_mean
new_sum <- 730 * new_mean

Теперь выясните, какой будет сумма переменной в дополнительных 28 случаях:

extra_sum <- new_sum - old_sum

Это позволяет вам определить относительные пропорции суммы переменная из старых случаев и из дополнительных случаев. Поместите эти пропорции в вектор:

contributions <- c(extra_sum/new_sum, old_sum/new_sum)

Теперь, используя функции, описанные в мой ответ на этот вопрос , вы можете найти оптимальное решение для разделения вашей переменной, чтобы соответствовать этим двум пропорциям , Строки, которые заканчиваются в «дополнительном» разделе, вероятно, будут новыми. Даже если они не новые, у вас останется образец, значение которого отличается от вашего оригинала менее чем на одну часть на миллион.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...