Я создаю новую переменную в наборе данных, используя большую формулу. Формула требует оценки нескольких столбцов и выбора конкретных условий в зависимости от значения этих столбцов
Формула:
GFR = 141 × min(Scr/κ, 1)α × max(Scr/κ, 1)-1.209 × 0.993Age × 1.018 [if female] × 1.159 [if black]
где:
- Scr - креатинин сыворотки в мг / дл,
- κ - 0,7 для женщин и 0,9 для мужчин,
- α составляет -0,329 для женщин и -0,411 для мужчин,
- min обозначает минимум Scr / κ или 1, а
- max указывает максимум Scr / κ или 1
Я не могу использовать dplyr или какие-либо дополнительные пакеты, потому что, к сожалению, мне приходится работать в защищенном виртуальном пространстве, а администратор не добавил соответствующие пакеты.
Код ниже - заметьте, я, вероятно, испортил скобки в приведенном ниже коде, но в виртуальном пространстве они верны
aric$ckd <- aric$ckd <- 141*/06/ifelse(gender== 0, .07, ifelse(gender== 1, .09, 1)) ^ ifelse(gender=0, -.329, ifelse(gender = 1, .-411, 1) * (20.7999/ ifelse(gender== 0, .07, ifelse(gender== 1, .09, 1)) * (ifelse(gender == 1, 1.018, 1)) * (ifelse(race==2, 1.159, 1))
Я получаю
Error in `[[<-.data.frame`(`*tmp*`, i, value = integer(0)) : replacement has 135662 rows, data has 13311
Но я проверил каждую переменную, ни у одной нет NA, я пытался заключить сделку типа na.omit (формула здесь). Я в растерянности