【问题标题】:Using case_when in tidyverse [closed]在 tidyverse 中使用 case_when [关闭]
【发布时间】:2019-01-19 15:10:36
【问题描述】:

我正在尝试使用 case_when,如下所示:

x <- 22
y <- runif(1)
z <- case_when (
    x <= 22 ~ "FT", 
    x >  22 & x <= 25 & y  < 0.5  ~ "FT",
    x >  22 & x <= 25 & y >= 0.5  ~ "PT",
    x >  25 & y >  0.9            ~ "PT",
    X >  25 & y <= 0.9            ~ "FT",
    TRUE ~ "PT")

当我运行它时,我得到了

eval_bare(f[[2]], env) 中的错误:找不到对象“X”

x 存在

x
#[1] 22

【问题讨论】:

  • 你在倒数第二行 case_when 有错字:它应该是小写的 x 而不是 X(你应该从错误消息中找到它) .

标签: r dplyr switch-statement tidyverse


【解决方案1】:

正如 Maurits 所说,您的 case_when 声明中有错字。将大写最后一个'X'改为'x'

z <- case_when (
  x <= 22 ~ "FT", 
  x >  22 & x <= 25 & y  < 0.5  ~ "FT",
  x >  22 & x <= 25 & y >= 0.5  ~ "PT",
  x >  25 & y >  0.9            ~ "PT",
  x >  25 & y <= 0.9            ~ "FT",
  TRUE ~ "PT")

z
[1] "FT"

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 2018-07-13
    • 2020-06-07
    相关资源
    最近更新 更多