我对 R 很陌生,我可能会遗漏一些信息,但我无法理解这种行为:
neighbors<-function(topo,usr){
n = NULL
for (i in 1:length(topo[,1])){
if (topo[i,1] == usr){
n <- append(n,topo[i,2])
}
}
return(n)
}
其中topo
具有以下结构:
2l59mm6jc8pae32vilsr99ljp0 40iml67hpjsr8o1oo7f4oin706
3359mm6jc8pae32vilsr99ljp0 411iml67hpjsr8o1oo7f4oin706
...
我想做的是遍历第一列并usr
从第一列中查看匹配项,然后将第二列的内容添加到n
我返回的 中。
发生的事情是我在输出中得到一些数字:19
和16
. 如果我尝试调试它,我会得到以下答案:
[1] vi4govpcqjnf6imquadf9ae4f0
20 Levels: 2l59mm6jc8pae32vilsr99ljp0 40iml67hpjsr8o1oo7f4oin706 ... vvqp3im2g3r90ibv56817asfq7
[1] 19
[1] nb9b1vh6ocaqsmgp8dv1s22f61
20 Levels: 2l59mm6jc8pae32vilsr99ljp0 40iml67hpjsr8o1oo7f4oin706 ... vvqp3im2g3r90ibv56817asfq7
[1] 19 16
[1] 19 16
我究竟做错了什么?