在R中使用For循环打印出现NA

3
当我在R中编写以下简单的for循环时:
newlist <- c("A", "B", "C")
for (i in newlist) {
  print(newlist[i]) 
}

我得到了以下输出:
[1] NA
[1] NA
[1] NA

我对R和编码还很新,请问为什么它不能逐个打印字母?

1个回答

7
你的for循环正在遍历newlist的值,而不是它们的索引。也就是说,你正在将i设置为"A",然后是"B"等等,然后尝试通过该值来获取newlist的子集,这会返回一个错误,因为你只能使用索引或名称来获取子集。你可能想要的是:
for (i in 1:length(newlist)){
    print (newlist[i]))
}

或者更简单地说,
for (i in newlist){
    print(i)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接