2017-07-20 45 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