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)
}