无法访问for循环中的向量元素

时间:2014-03-23 05:49:01

标签: r

假设我有两个向量:

a1=c("a","b")
a2=c("x","y")

现在在'for'循环中,我想访问每个向量的第一个元素:

for(i in c(a1,a2)) {
    print(i[1]) 
    } 

如果我运行上面的代码,我会得到:

[1] "a" 
[1] "b" 
[1] "x"
[1] "y" 

但我只是想:

[1] "a" 
[1] "x" 

更令人惊讶的是,如果我想访问第二个元素:

for(i in c(a1,a2)) { 
    print(i[2]) 
    } 

我明白了:

[1] "NA" 
[1] "NA" 
[1] "NA" 
[1] "NA" 

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

因为c(a1, a2) = c("a","b","x","y") - 将多个原子向量传递给c会导致它们崩溃。请改用循环中的list(a1, a2)