根据地理参考数据设置分类变量

时间:2016-03-20 23:24:31

标签: r geospatial categorical-data

我遇到了一个我自己无法解决的问题。

我有一个数据框,其中包含一些环境信息以及每个采样站的纬度和经度。我想将我的学习区域划分为4个较小的区域(见下图),我想将其信息包含在我的洞数据框的新列中。也就是说,我的新列应该是具有4个级别的因子,每个级别对应于基于每个区域限制的特定地理位置范围。

enter image description here

例如,假设我的区域1被定义为位于经度(-10.4 to -10.6)和纬度(-37 to -36.2.)之间的所有样本站。因此,最后我希望有一个这样的数据框:

Variable 1   Variable 2  Latitude  Longitude  Area  
0.98          1.5         -10.2      -37.5     1
0.74          0.9         -10.1      -37.5     1
0.58          0.7         -11.7      -36.8     3
0.94          1.2         -11.9      -37.5     4

等等。任何人都可以帮我解决我的问题吗?

1 个答案:

答案 0 :(得分:1)

如果区间仅由Latitude确定,则可以使用以下内容。

> Var1 <- runif(100)
> Var2 <- runif(100)
> Latitude <- runif(100, -13.0, -10.0)
> Longitude <- runif(100, -38.0, -36.0)
> 
> dat <- data.frame(Var1, Var2, Latitude, Longitude)
> 
> Area <- as.numeric(cut(dat$Latitude, breaks = c(-13.0, -12.0, -11.0, -10.0)))
> 
> dat <- data.frame(dat, Area)
> dat
           Var1       Var2  Latitude Longitude Area
1   0.655301728 0.14144585 -10.48851 -37.96152    3
2   0.107591891 0.72131348 -11.75188 -36.05489    2
3   0.639967329 0.98282855 -10.76784 -36.01176    3
4   0.295014765 0.31968068 -11.99204 -37.48354    2
5   0.373011497 0.21168608 -11.62501 -36.37215    2
6   0.802966559 0.69812115 -11.56078 -37.09359    2
7   0.013607591 0.47285961 -10.95633 -36.06122    3
8   0.309604142 0.14035926 -10.94194 -37.61688    3
9   0.066620024 0.15386860 -12.26123 -36.84730    1
10  0.066227174 0.70843535 -12.06751 -36.44342    1
11  0.551767865 0.60483061 -12.78234 -36.23624    1
12  0.770809846 0.80973319 -10.47946 -37.97104    3
13  0.909879222 0.04641956 -11.18606 -36.91503    2

或者您可以使用

Area <- as.numeric(cut(dat$Latitude, breaks = 4))

有4个间隔。