I am doing a project looking at the prevalence of a weeds in an area. As an example, I have the following layers:

  • Weeds Layer (polygons) {categorical data} Each polygon represents a point or polygon that corresponds to a certain type of weed. There are 16 weed types.

  • Plant Zone Layer (polygons) {categorical} Each polygon corresponds to 1 of 7 categories.

  • Rainfall {polygons} {Ordinal Numerical categories} Each polygon corresponds to one of 5 ranges, like 0-5 inches, 5-10 inches etc

  • Average vegetation height (polygons) {Numerical} Polygons representing the average height of vegetation

These layers are all projected and fit nicely on top of each other in my workspace. I want to answer questions like, "Where does weed X occur most often? (Dry areas?, in plant zone 4?, where the vegetation is high?)

So, this sounds like something suited for correlation and regression in something like R, but things are only spatially related. I'm new to GIS and any help greatly appreciated. I'll clarify my goals if it helps.


  • 2
    It sounds like your "data" are actually layers derived from data. E.g., people don't usually record species observations as polygons: they record points where species were observed and then later may draw polygons around contiguous collections of such points. The distinction is crucial to statistical analyses like correlation and regression because they are designed to be applied to the original data, not to digests or summaries of those data. Applying them to your data may give wrong answers (and certainly will be incorrect concerning any p-values). Can you obtain the original datasets?
    – whuber
    Apr 22 '12 at 20:52
  • @whuber, you are right. I erred in saying polygon data. It is point data. (Actually it is both point and polygon data, they must have seen large areas of one type of weed.) So the data is far from perfect, but this is just for a "try to use GIS tools" experience, not get super accurate results. Thanks,
    – DSG
    Apr 25 '12 at 18:29
  • Thanks, that clarification helps. But the nature of data collection is important here. It sounds like the plants themselves were the subjects of observation. How were the plants found? A census? Random quadrats? Field judgment and selection? Observations from a transect (such as while walking along a trail)? How was the spatial extent of the study determined or constrained?
    – whuber
    Apr 25 '12 at 19:43

I do not have a warm fuzzy feeling about using regression for this type of question. It is not entirely clear to me what your response variable is but, this sounds more like a classification problem then inferential. I would suggest using a classification and regression tree method (CART, Random Forest, Boosted Regression Trees). These methods allow for mixed data types and can partition on factorial and ordered data.

If your dependent variable (y) is categorical, you could potentially adapt a clustering approach such as K-means, Fuzzy C-means or agglomerative hierarchical clustering. The basic idea is to cluster your independent variables (x) and then see what classes in your dependent variable they fall within.

These methods are all available in R. Here are the relevant libraries.

Random Forests - randomForest, survivalForests (if data is ordered)

CART - rpart

Boosted Regression Trees - gbm

agglomerative hierarchical clustering - hclust

K-means - stats, kernlab, pam (for large data and K-medoid variant)

Fuzzy C-means - e1071

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.