Как рассчитать вероятность в R - PullRequest
0 голосов
/ 12 февраля 2020

Привет, так что я беру урок статистики, и нам дали набор данных "NHANES", который мы отфильтровали, чтобы получить взрослых курильщиков -> "NHANES_adult".

library(NHANES)
# create a NHANES dataset without duplicated IDs 
NHANES <-
  NHANES %>%
  distinct(ID, .keep_all = TRUE) 

NHANES_adult <- NHANES %>%
  filter(Age >= 18) %>%  # only include individuals 18 or older
  filter(SmokeNow != 'NA')  # drop any observations with NA for SmokeNow

Мой проф спросил следующее:

1b. Теперь давайте возьмем одну выборку из 100 человек из фрейма данных NHANES_adult и вычислим долю курильщиков, сохранив ее в переменной с именем p_smokers.

set.seed(12345)  # PROVIDED CODE - this will cause it to create the same
                 # random sample each time

sample_size = 100 # size of each sample

p_smokers <- NHANES_adult %>%
  sample(sample_size) %>%  # take a sample from the data frame [I think this is okay]
  ____(____ = ____(____)) %>% # compute the probability of smoking [This is the point at which I'm struggling to understand what one-line function fits these blank parameters.
  ____()  # extract the variable from the data frame [I believe this is the mutate() function?]

p_smokers

1 Ответ

0 голосов
/ 12 февраля 2020

Может быть, это то, что вы ищете. Кажется, вы должны использовать sample_n() вместо sample(). Чтобы найти пропорцию в одной строке, вы должны использовать mean().

sample_size <- 100

NHANES_adult %>%
  sample_n(sample_size) %>%  
  summarize(p_smok = mean(SmokeNow == "Yes")) %>% 
  pull(p_smok) 
...