繁体   English   中英

缺少参数“no”,R 中没有默认值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM