R矢量循环混乱

时间:2015-06-11 17:29:03

标签: r for-loop vector

我正在学习R并且我已经在我的代码中找到了一个问题,期望循环遍历矢量会做什么。这就是我困惑的地方 - 比如说我有一个带有两个非连续元素的数字向量。

somethingId

如果我循环遍历向量以对其包含的值执行某些操作,那么我无法获取值。这个循环,例如,

x <- c(1, 3)

打印出来

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

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

我知道我误解了什么,但我看不清楚。如果有人能帮我理解,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

如上面的评论所示,答案是使用以下内容:

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

}

您的代码的作用如下:

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