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

非常感谢!

4

2 回答 2

3

很简单:

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

或者

snptags <- sprintf("SNP%d",1:probesnum)
于 2013-10-09T13:50:11.697 回答
1

请注意,您的代码很接近。问题在

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

将上面的内容与@BenBolker 的第一个答案进行比较。

序列运算符 ,:必须用在数字(整数或实数)上,
然后可以将序列paste转换为字符串。

在您的代码中,您给它两个字符串并要求它创建一个:不知道该怎么做的序列。

于 2013-10-09T13:57:03.203 回答