当我在 R 中编写以下简单的 for 循环时:
newlist <- c("A", "B", "C")
for (i in newlist) {
print(newlist[i])
}
我得到以下输出:
[1] NA
[1] NA
[1] NA
我对 R 和一般编码很陌生?有人可以向我解释为什么它不会一个一个地打印出字母吗?
最佳答案
您的 for
循环正在迭代 newlist 的值,而不是它们的索引。也就是说,您将 i
设置为 "A"
,然后是 "B"
等,然后尝试按值对 newlist
进行子集化,这将返回错误,因为您只能使用索引或名称进行子集化。你可能想要的是:
for (i in 1:length(newlist)){
print (newlist[i]))
}
或者,更简单地说,
for (i in newlist){
print(i)
}
关于r - R 中的 For 循环在打印时返回 NA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32829922/