2017-07-20 38 views
0

我从包含字符串/字符元素的数据框中获取矢量,并且我想根据它们是否包含特定的字符组来替换这些字符串/字符元素,我想知道我该怎么做。例如,可以说我有从字符串元素的数据帧中的列如下:用R中的数字替换矢量中的字符元素

df$Stringvector <- c("aaca", "bbb", "edee", "ca bb" "ttt t", "ui de", "k jkl") 

现在,我愿做与1替换向量的元素,如果元素具有字符组合cade,并且如果它们不包含这些组合中的任何一个,则用2替换这些元素。由于第一,第三,第四,和df$Stringvector在他们的字符串cade第六元素这是用来取得1更换,而其他所有得到由2代替,使得我们现在得到:

df$Stringvector <- c(1,2,1,1,2,1,2) 

什么是好办法这样做?谢谢!

+0

'ca'包含'ca'和'ac'组合吗? - 即 - 以任何顺序。 – thelatemail

回答

3

您可以使用grepl找到该图案。

> as.numeric(!grepl("ca|de", x)) + 1 
[1] 1 2 1 1 2 1 2 
+0

谢谢!这似乎完美:) – reallybadstatdude