3
当我写了下面这个简单的在R回路:For循环中的R返回NA在印刷
newlist <- c("A", "B", "C")
for (i in newlist) {
print(newlist[i])
}
我得到以下输出:
[1] NA
[1] NA
[1] NA
我是相当新的R和一般的编码?,有人可以向我解释为什么它不会一个一个打印出来吗?
当我写了下面这个简单的在R回路:For循环中的R返回NA在印刷
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)
}