Создание функции для выработки коэффициентов - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь написать функцию, которая вычисляет отношения шансов. Функция должна принимать в качестве аргумента фрейм данных с тремя переменными («женский», «мужской» и «n») и четырьмя наблюдениями и возвращать отношение шансов.

df <- data.frame(female = c("White", "White", "non-White", "non-White"),
                 male = c("White", "non-White", "White", "non-White"),
                 n = c(85, 5, 5, 10))
# data represented as a table
xtabs(n ~ female + male, df)
# the odds ratio here is:
(85 * 10) / (5 * 5) 
#34
MyoddsRatio <- function(df){
  df <- df %>% 
  mutate(oddsratio = (n[1]) * n[4])/(n[2] * n[3]))
return(df)
} 

Чтобы проверить, работает ли функция, я бы хотел увидеть, как она возвращает коэффициент 34.

1 Ответ

1 голос
/ 25 марта 2019

Если ваш фрейм данных всегда будет в этом формате, вы можете использовать summarise

library(dplyr)
MyoddsRatio <- function(df) {
  df %>%
    summarise(oddsratio = (n[1] * n[4]) / (n[2] * n[3]))
} 

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