2017-07-20 17 views
0

文字列要素を含むデータフレームのベクトルがあります。これらの文字列要素を、文字列の中に特定の文字グループが含まれているかどうかに基づいて置き換えます私はそれをどうやってやることができるのだろうと思っていました。要素が文字を持っている場合1とベクトルの要素を置き換えるベクトル内の文字要素をRの数字に置き換えます

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

を今、私がやりたいことはされています。たとえば、次のように私は、文字列要素を持つデータフレームから列を持って言うことができますcaまたはdeを入力し、いずれかの組み合わせが含まれていない場合は、2に置き換えます。他のすべてが2に置き換えますしながら、その文字列でdf$Stringvector持っcadeで第一、第三、第四、及び第六の要素ので、これらは私たちが今得ることを、1に置き換えます:

良い方法は何
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

関連する問題