R:ifelse中的字符串列表

时间:2014-05-12 19:22:08

标签: mysql string r list if-statement

我正在寻找与MySQL中的“where'var'(...)”语句相似的东西。

我的代码如下:

data<-data.frame(id=10001:10030,cc1=rep(c("a","b","c"),10))
attach(data)
data$new<-ifelse(cc1=="a"|cc1=="b",1,0)

在ifelse中包含字符串列表而不是使用|的更好方法是什么?

类似于:ifelse(cc1 in ('a','b'),1,0)

非常感谢!

2 个答案:

答案 0 :(得分:2)

ifelse(cc1 %in% c("a", "b"), 1, 0)

或者简单地说:

as.numeric(data$cc1 %in% c("a", "b"))

尽管避免使用attach。它让事情变得混乱。

答案 1 :(得分:1)

我只是把这个扔进混音

> (!as.numeric(data$cc1) > 2)+0
## [1] 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0