2017-02-09 6 views
-2

「RNA_」変更名

df 
ID     MP Value 
FFP16-000123_C1_A1  -1 
FFP16-000124_C1_A1  0 
FFP16-000125_C1_A1  1 

df 
ID     MP Value 
RNA_FFP16-00-1 
RNA_FFP16-000124   0 
RNA_FFP16-000125   1 
+0

可能な重複:[文字列を変更する方法](http://stackoverflow.com/q/20481621/903061)または[文字列にテキストを追加する](http://stackoverflow.com)/q/31471220/903061)、[Rの文字列処理(検索と置換)](http://stackoverflow.com/q/27012107/903061)を参照してください。 – Gregor

答えて

2

接尾辞は、機能にpaste0GSUB使用:

df$ID <- paste0("RNA_", gsub("_C1_A1", "", df$ID)) 

をアンダースコアで始まるすべてのサフィックスの同じ変更を行うには、正規表現を使用することができますグラムの最初の引数として「_を*。」サブ:

df$ID <- paste0("RNA_", gsub("_.*", "", df$ID)) 
+0

アドバイスをいただきありがとうございます。それはほとんどそれでしたが、私のデータには多くの異なる接尾辞(C1_A1、C2_A1、C1_A3など)があります。正確な文字ではなく、トリミングする文字の数を指定する方法はありますか? – JRuby

+0

私は、この場合の最も簡単なアプローチは、最初のアンダースコアの後ろにあるすべてのものを削除することだと思っています...私の修正された答えを見て、それが問題を解決しないかどうか教えてください。 – cmaher