【发布时间】:2020-01-28 00:45:56
【问题描述】:
我有一个数据集“cipe”,并且正在尝试创建一个新变量“case”,如果以下任何标准“htn”、“sle”、“apls”、“diabetes”、“ckd”是遇到了
我使用的代码是:
cipe <- mutate(cipe, case == ifelse(htn == 1, "1",
ifelse(sle == 1, "1",
ifelse(apls == 1, "1",
ifelse(diabetes == 1, "1",
ifelse(ckd == 1, "1", "0"))))))
我的数据集有大约 84 万个观察值,因此发布是不可行的,但是当我运行此代码时,新“case”变量中“1”的数量正好等于“”中“1”的数量htn",(应该更高),所以其他测试没有被评估。任何帮助都会很棒。谢谢
【问题讨论】:
-
您需要
df$case <- rowSums(cipe[c('htn', 'sle', 'apls', 'diabetes', 'ckd')])吗? -
你真的在使用
case == ifelse(…吗?这应该是case = ifelse(,否则会出错,除非你已经在某处定义了case。除此之外,该功能看起来应该按预期工作。您可以使用dput(dplyr::sample_n(cipe,15))提供一个简单的示例或您的数据
标签: r if-statement dplyr statistics