Как сказал @Elin, это скорее проблема статистики, а не вопрос программирования. Кроме того, open intro - отличный текст для статистики, так что читайте!
Теперь, поскольку вы задаете вопрос R, вот некоторая информация о R, которую вы должны знать, чтобы решить эту проблему. Однако, поскольку это HW, я не буду писать решение для вас. Это не поможет вам в долгосрочной перспективе!
Во-первых, чтобы подсчитать, сколько элементов имеют определенный уровень фактора, вы можете воспользоваться тем фактом, что R рассматривает логические значения как единицы и нули. Таким образом, вы можете суммировать логический вектор, чтобы получить счетчик.
Например, набор данных радужной оболочки (см. «Iris» для более подробной информации) имеет фактор вида. Чтобы получить количество переменных Species с уровнем «setosa», выполните:
sum(iris$Species== "setosa")
Чтобы получить пропорцию, вы можете разделить на длину переменной:
sum(iris$Species== "setosa") / length(iris$Species)
Обратите внимание, что для меня length(atheism$response)
возвращает 88032, а не 1002. Я получаю те же результаты, добавляя два уровня атеизма $ response. Я бы посоветовал вам дважды проверить, что это тот же набор данных.
Вам необходимо самостоятельно рассчитать стандартную ошибку. Я рекомендую внимательно прочитать текст и вопрос, так как подозреваю, что значение 0.5 не является правильным значением.
Кроме того, примечание об арифметике в R. Порядок операций хорошо определен, но может вводить в заблуждение новых пользователей. Я бы рекомендовал использовать родительские акценты как можно больше. Кроме того, для умножения нужен оператор '*', даже когда он имеет форму a * (b + c) - он не предполагается, как в алгебре a (b + c).
Если у вас есть еще вопросы R, не стесняйтесь спрашивать. Но вы должны изучить статистику! И открытое вступление - отличная книга, так что используйте ее с умом !!!