创建循环到字符串后出现奇怪的结果

时间:2015-04-21 14:14:12

标签: r

作为更大解决方案的一部分,我尝试创建彼此不同的名称一位数。例如:SF_FinalviewQ3_2013_Day 3 _BaseLine和SF_FinalviewQ3_2013_Day 6 _BaseLine。 我创建了一个循环来做到这一点,但我得到了一个奇怪的结果:我得到了6个结果,第一个很好,第三个但我不明白我是如何得到NA&#39 ; s以及第六个结果。我还以为第一个结果将是" SF_FinalviewQ3_2013_Day3_BaseLine"而不是" SF_FinalviewQ3_2013_Day3_BaseLine"但是对手发生了。

for(i in c(3,6)){ p[i]<-paste("SF_FinalviewQ3_2013_Day",i,"_BaseLine",sep="")}
> p
[1] "SF_FinalviewQ3_2013_Day6_BaseLine" NA                                 "SF_FinalviewQ3_2013_Day3_BaseLine"
[4] NA                                  NA                                  "SF_FinalviewQ3_2013_Day6_BaseLine"

1 个答案:

答案 0 :(得分:2)

使用您的代码创建一个包含6个元素的数组:

p[3] <- SF_FinalviewQ3_2013_Day3_BaseLine

p[6] <- SF_FinalviewQ3_2013_Day6_BaseLine

所以R认为你还需要索引为1,2,4,5的元素。

试试这段代码:

p <- NA # first I reset p
index <- 1 # this will be the index
for(i in c(3,6)){ 
  p[index]<-paste("SF_FinalviewQ3_2013_Day",i,"_BaseLine",sep="")
  index <- index + 1
}
p