91

variable のような NCBI Reference Sequence アクセッション番号を使用していますa

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")  

biomart パッケージから情報を取得するには、アクセッション番号の後にある など.1を削除する必要があります。.2私は通常、このコードでこれを行います:

b <- sub("..*", "", a)

# [1] "" "" "" "" "" ""

しかし、ご覧のとおり、これはこの変数の正しい方法ではありません。誰でもこれで私を助けることができますか?

4

4 に答える 4

130

ピリオドをエスケープするだけです。

a <- c("NM_020506.1","NM_020519.1","NM_001030297.2","NM_010281.2","NM_011419.3", "NM_053155.2")

gsub("\\..*","",a)
[1] "NM_020506"    "NM_020519"    "NM_001030297" "NM_010281"    "NM_011419"    "NM_053155" 
于 2012-05-16T14:43:27.017 に答える
9

あなたができること:

sub("*\\.[0-9]", "", a)

また

library(stringr)
str_sub(a, start=1, end=-3)
于 2012-05-16T11:44:58.870 に答える