我有一個座標數據幀,我在SpatialPoints中轉換,注意到有些會落在太平洋和一些在大西洋。刪除錯誤的行
所以我看着谷歌地圖座標,這樣做是爲了刪除那些在大西洋
data_arvore<- data_arvore[which(data_arvore$longitude < -34.8),]
然後,找出哪些點是在太平洋:
data_arvore[which(data_arvore$latitude < 7 & data_arvore$longitude < -82),]
我需要這兩個條件,因爲如果我只使用第一個條件,它將排除巴西的所有事情,如果我只使用第二個條件,它將排除墨西哥的一些點。我得到這個打印:
3007 GB19507 5.550000 -87.03000
4085 GB943 0.000000 -99.00000
4086 GB942 0.000000 -99.00000
4087 GB940 0.000000 -99.00000
6672 GB4718 0.000000 -99.00000
7282 GB5497 0.000000 -99.00000
7283 GB5496 0.000000 -99.00000
10354 GB12229 0.000000 -99.00000
第一個數字是行號,第二個是我的代碼,其次是經度和緯度。我必須排除最後7行(因爲前兩個是不是在海洋中,而是在一個小島):
data_arvore2<- data_arvore[which(data_arvore$latitude != 0 & data_arvore$longitude != -99),]
但這個代碼刪除其緯度爲0分,東經不-99 ,並指出其經度爲-99和緯度是不爲0的新嘗試:
data_arvore2 <- data_arvore[-c(4085,4086,4087,6672,7282,7283,10354), ]
新的對象,data_arvore2比data_arvore少7行......但點在海洋仍在下降...我注意到代碼刪除了錯誤的行。然後我又開始了,但是在去除大西洋中的點之前,刪除了太平洋中的行,並且它工作正常。我發現在第一次嘗試時我刪除了第4086行,這不是行號4086.改變操作的順序給了我期望的結果,但是我想知道如何處理這種情況並刪除正確的行......你能給我一個小費嗎?
所有的選項都有效,我學到了很多關於R語法的知識! – Thai
高興地幫助:)! –
順便提一下,我剛剛注意到了,因爲我的回答有點快,但是你不需要在第一個解決方案中的哪一個,它可以很好地給出一組布爾值而不是索引 –