'|'或有条件的变异操作

时间:2017-07-10 19:07:12

标签: r dplyr

我无法弄清楚为什么|逻辑运算符不起作用。

  set.seed(123)
   add <- sample(rep(letters[1:4],times=4))
   value = c(rep(runif(4),times=4))
   id <- rep(c("Good","Bad","ugly","dirty"),each=4)

   df <- data.frame(add,value,id=sample(id))


     add      value    id
1    a    0.24608773 dirty
2    d    0.04205953  ugly
3    b    0.32792072  ugly
4    c    0.95450365 dirty
5    a    0.24608773   Bad
6    a    0.04205953  ugly
7    b    0.32792072   Bad
8    a    0.95450365  ugly
9    d    0.24608773  Good
10   d    0.04205953  Good
11   b    0.32792072 dirty
12   c    0.95450365   Bad
13   d    0.24608773 dirty
14   b    0.04205953  Good
15   c    0.32792072  Good
16   c    0.95450365   Bad 

我尝试使用label

添加新列|
df_clas <- df%>%
      mutate(label=ifelse(id=='dirty|ugly'&value<0.9,'Animal',''))

我的标签栏是空的。

我也试过

 mutate(label=ifelse(id=='dirty'|'ugly'&value<0.9,'Animal',''))
  

mutate_impl(.data,dots)中的错误:只能进行操作   对于数字,逻辑或复杂类型

但是当我尝试时,

mutate(label=ifelse(id=='dirty'|id=='ugly'&value<0.9,'Animal',''))

它有效,但我想在条件的开头只使用'id'一次。我怎么能这样做?

0 个答案:

没有答案