我有一個數據幀以外的變量,看起來像這樣基於R中
site trap.number species dist.to.forest
1 1 5850 NA
2 1 4851 bridelia 0
3 1 4852 NA
4 1 4853 NA
5 1 4854 NA
6 1 4855 NA
我想怎麼辦分配變量值填寫值取決於變量dist.to.forest trap.number的值。我可以用
dat1$dist.to.forest[dat1$trap.number == 4851]<- 0
做一次這個人,但也有許多許多的陷阱是從森林0米,和許多許多的陷阱是10個meteres等,所以我想,以填補他們都在迅速我知道的陷阱數量和距離,我試圖用這樣的:
dat1$dist.to.forest[dat1$trap.number == c(4851, 4873, 4881, 4896, 4915)] <- 0
雖然陷阱號碼的實際名單是更長的時間,我只是縮短在這裏以適合屏幕,但有大約長對象的錯誤不是較短對象的倍數。
所以我有兩個問題,如果有人願意回答,第一,在我對(有限)R的理解,我認爲數字0會'回收'填補dist.to.forest的每一行,其中trap.number的值與我指定的列表中的一個值相同,但它沒有,如果有人善意解釋爲什麼這不是正確的方式來思考它會很好,其次,你可以告訴我代碼正確執行。提前非常感謝
嘗試'%in%'而不是'=='。雖然它仍然是一個紅色的信息,但這是一個警告,而不是一個錯誤。 –
@RichardScriven謝謝您的回覆 – alexk