2015-06-11 180 views
-1

我正在學習R,並且我已經在我的代碼中追蹤了一個問題,以期望循環遍歷一個矢量。這就是我感到困惑 - 說我有一個數字向量,其中有兩個不連續的元素。R矢量循環混淆

x <- c(1, 3) 

如果我通過向量循環來處理它包含的值,我沒有得到值。這個循環,例如,

for (i in x) { 
    print(x[i]) 
} 

打印出

[1] 1 
[1] NA 

但我希望它打印1和3,而不是1和NA。

我知道我誤解了一些東西,但我看不到什麼。如果有人能幫我理清我的理解,我將不勝感激。

+0

使用'for(i in 1:length(x))' –

+1

或者使用'for(i in x){print(i)}'現在你會混淆索引和迭代。 – MrFlick

回答

0

用如上述評論表明,答案是使用follwing:

for (i in 1:length(x)){ 

} 

你的代碼做如下:

第一次迭代:我設置爲x中的第一個值(1 ),使用我查找x(1)中的第一個值。 第二次迭代:我設置爲x(3)中的第二個值,使用i查找x中的第三個值(不存在,因此NA)。