我正在使用一个大公式在数据集中创建一个新变量。该公式需要评估多个列并根据这些列的值选择特定条件
公式:
GFR = 141 × min(Scr/κ, 1)α × max(Scr/κ, 1)-1.209 × 0.993Age × 1.018 [if female] × 1.159 [if black]
其中:
我不能使用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(formula-here)处理。我很茫然