我試圖在csv中的shapefile和數據表之間進行空間連接時遇到了一些麻煩。關於空間加入R的問題
Here's what my data looks like:
Point Shapefile's attribute data (StudentID):
ID Address Long Lat
123.00 street long lat
456.00 street long lat
789.01 street long lat
223.00 street long lat
412.02 street long lat
Data Table (Table):
ID Name Age School
123.00 name age school
456.00 name age school
789.01 name age school
223.00 name age school
412.02 name age school
重要提示:StudentID
包含大約500個記錄,而表只有250在StudentID
某些記錄將不匹配。
問題1:
我有一個Excel文件,我轉換成CSV導入到R.當運行加盟,我注意到,一些ID列改變了我的數據格式的(所以123.00
將成爲123;
456.00
至456;
789.01
是相同的)。但是,當我在記事本中打開csv文件格式是正確的。我試着將表格讀作.txt文件,但沒有運氣。有誰知道爲什麼會發生這種情況,有什麼辦法來克服這一點?
因爲我不能參加基於精確匹配的數據,我決定嘗試部分連接,因爲ID都是唯一的,無論最後2個位數,這使我問題2 ...
問題2:
這是我用來連接兩個:
[email protected] = data.frame([email protected], data[charmatch([email protected]$ID,Table$ID,])
這加入了數據,而且,正如預期,隨着來港返回的行。我使用na.omit刪除行,並且生成的數據包含所有匹配的數據。但是,在shapefile中,我所有的點都在那裏。爲什麼這些點在記錄被刪除後仍然存在?
你的損失'.00'可能是一個Excel的問題 - 我記得它導出到時不可預知的事情CSV。對於'加入',你有沒有嘗試過使用'merge'? – alexwhan 2013-03-07 05:38:43
@alexwhan:我認爲shapefile合併不是一個好方法。 Upone合併行的順序可能會混合,而關聯的形狀/點的順序不會自動更新。所以比賽方法在這裏更合適。 – yellowcap 2013-03-07 19:30:27