我在尝试在 csv 中的 shapefile 和数据表之间进行空间连接时遇到了一些麻烦。
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 条记录,而 Table 只有 250 条。其中的某些记录StudentID
将不匹配。
问题1:
我有一个 excel 文件,我将其转换为 csv 以导入 R。在运行连接时,我注意到我的一些数据格式在 ID 列中发生了变化(因此123.00
将变为123;
456.00
相同456;
789.01
)。但是,当我在记事本中打开 csv 文件时,格式是正确的。我尝试将表格读取为 .txt 文件,但没有运气。有谁知道为什么会发生这种情况以及有什么方法可以克服这个问题?
因为我无法基于完全匹配加入数据,所以我决定尝试部分加入,因为 IDS 是唯一的,无论最后 2 位如何,这导致我遇到问题 2...
问题2:
这是我用来加入两者的:
StudentID@data = data.frame(StudentID@data, data[charmatch(StudentID@data$ID,Table$ID,])
这加入了数据,但也如预期的那样返回了带有 NA 的行。我使用 na.omit 删除了行,结果数据包含所有匹配的数据。但是,在 shapefile 中,我的所有观点仍然存在。为什么这些点在记录被删除后仍然存在?