Использование для l oop в R для итерации, создание кадра данных с 4 наблюдениями и 3 переменными для i, а затем применение функции к i для каждого значения в столбце
Привет, я действительно изо всех сил чтобы понять циклы и пытались понять, как написать этот код. У меня есть фрейм данных (называемый JoinedEthn), в котором две переменные - это ethnM и ethnF, которые содержат этническую принадлежность партнеров мужского и женского пола (соответственно).
Это факторные переменные, а этнические группы закодированы в виде символов, т. Е. "Белый Брити sh", "Ири sh" и т. c.
Я создал код, который будет создайте новый фрейм данных с 4 наблюдениями и 3 переменными, который показывает этни c эндогамию пар в каждой этнической c группе (например, один наблюдатель показывает количество пар, у которых женщина - небритый британец * 1021) * и мужчина - белый британец sh, во втором наблюдении показано количество пар, в которых мужчина - небритый британец sh, а женщина - белый британец sh, в третьем наблюдении - количество пар, где оба партнера не являются белыми британцами sh, а наблюдение четыре показывает количество пар, в которых оба партнера являются белыми британцами sh.) Затем мой код будет применять функцию (написанную мной), которая вычисляет отношение шансов кадра данных oddsRatio ()
whitebritish <- JoinedEthn %>%
mutate(malepartner = recode(ethnM,
"White British" = "White British",
.default = "Non White British"
)) %>%
mutate(femalepartner = recode(ethnF,
"White British" = "White British",
.default = "Non White British"
)) %>%
filter(!is.na(malepartner), !is.na(femalepartner)) %>%
group_by(malepartner, femalepartner) %>%
summarise(n = n())
oddsRatio(whitebritish)
Мне нужно повторять этот код для каждого значения, показанного в ethnM / ethnF, чтобы у меня был фрейм данных для каждой группы ethni c например, iri sh против non-iri sh, китайский против не китайского, бангладешский против не китайского. При этом «не» группа включает в себя все другие этнические группы. Затем мне нужно применить функцию oddsRatio () к каждому фрейму данных. Выходные данные должны содержать отношение шансов для каждой группы ethni c (то есть результат функции oddsRatio () применительно к каждому фрейму данных)
Для этого этот проект требует me использовать итерацию и для циклов. Какой код я могу написать, который перебирает каждую группу ethni c для получения результатов, описанных выше? Заранее благодарю за помощь:) x