2013-10-09 142 views
1

任何人都可以告訴如何在R中創建字符+數字混合的範圍/序列。我想創建從SEQ1到SEQ26000的範圍。但是,範圍的最大限制存儲在一個向量中,我想將該向量用作範圍限制而不是指定的數字。範圍的字符+數字

我的代碼:

snptags<-paste("SNP1":"SNP",probesnum) 

我得到這些錯誤:

error in "SNP1":"SNP" : NA/NaN argument 
In addition: Warning messages: 
1: In paste("SNP1":"SNP", probesnum) : NAs introduced by coercion 
2: In paste("SNP1":"SNP", probesnum) : NAs introduced by coercion 

感謝一大堆!

回答

3

很簡單:

probesnum <- 26000 
snptags <- paste0("SNP",1:probesnum) 

snptags <- sprintf("SNP%d",1:probesnum) 
+1

如果存在probenum可能等於0的可能性,您可能需要考慮使用'seq_len(probesnum)'代替'1:probesnum'。 –

1

請注意,您的代碼很接近。問題是在

paste("SNP1":"SNP",probesnum) 
     ^^^^^^^^^^ 
       |-- specifically, this part 

比較以上whats與@BenBolker的第一個答案。

序列操作,:,必須在數字(整數或實數)
可以使用THEN的序列可以是paste倒是爲字符串。

在你的代碼中,你給它兩個字符串並要求它創建一個序列,而:不知道該怎麼做。

+0

謝謝,明白了。我是R新手..所以.. – Jason

+0

沒有問題。如果@ Ben的回答解決了您的問題(我認爲它的確存在),請確保單擊旁邊的複選標記,以表明這一點。 –