[英]argument "no" is missing, with no default in R
我一直在尝试创建一个新变量,该变量根据来自另一个变量的数据对参与者是否患有糖尿病进行分类,但我不断收到消息: ifelse 错误(glyhb >= 7,“no”):缺少参数“no” , 没有默认值。
例如,如果糖化血红蛋白 (glyhb) > 7.0,则诊断为糖尿病。
我试过这段代码,但它不工作:
Diabetes$diabetes <- with(Diabetes, ifelse(glyhb > 7, "yes", ifelse(glyhb >=7, "no")))
我想知道我哪里出错了?
你确定glyhb >=7
是真的吗? 我认为没有糖尿病应该是glyhb <=7
。
ifelse
https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/ifelse
用法: ifelse(test, yes, no)
ifelse
返回一个与 test 具有相同形状的值,该值填充有从 yes 或 no 中选择的元素,具体取决于 test 的元素是 TRUE 还是 FALSE。
如果我的想法是正确的,那么请看这个例子:
# fake data
Diabetes <- structure(list(glynb = 1:20), row.names = c(NA, -20L), class = c("tbl_df", "tbl", "data.frame"))
# base R:
Diabetes$has_diabetes <- ifelse(Diabetes$glynb > 7, "yes", "no")
# dplyr:
library(dplyr)
Diabetes %>%
mutate(has_diabetes = ifelse(glynb > 7, "yes", "no"))
Output:
glynb has_diabetes
<int> <chr>
1 1 no
2 2 no
3 3 no
4 4 no
5 5 no
6 6 no
7 7 no
8 8 yes
9 9 yes
10 10 yes
11 11 yes
12 12 yes
13 13 yes
14 14 yes
15 15 yes
16 16 yes
17 17 yes
18 18 yes
19 19 yes
20 20 yes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.