R 用生物区分隔的样地

R 用生物区分隔的样地,r,ggplot2,R,Ggplot2,我对R很陌生,所以希望这很容易: 我有一个不同生物区(耕地、水体、定居点等)的数据集,我想根据它们在x轴和y轴上的面积和周长进行绘制。颜色应表示不同的生物区。我成功了 qplot(Data$Perimeter_meter, Data$Area_meter, color= Data$biotopes) 由于有两个巨大的生物区,主要生物区在该图中不太明显/呈现(非常小,左角倾斜)。我试图通过创建一个子集来消除它们: ggplot(subset(Data[which(Data$Perimeter_m

我对R很陌生,所以希望这很容易:

我有一个不同生物区(耕地、水体、定居点等)的数据集,我想根据它们在x轴和y轴上的面积和周长进行绘制。颜色应表示不同的生物区。我成功了

qplot(Data$Perimeter_meter, Data$Area_meter, color= Data$biotopes)
由于有两个巨大的生物区,主要生物区在该图中不太明显/呈现(非常小,左角倾斜)。我试图通过创建一个子集来消除它们:

ggplot(subset(Data[which(Data$Perimeter_meter <= 90000 &       
                         Data$Area_meter < 5000),]),
     aes(x = Data$Perimeter_meter, y = Data$Area_meter, 
        colour = Data$biotopes))
ggplot(subset(data.frame(columbus),AREA>0.1), aes(x=PERIMETER, y=AREA,colour=Y))  + geom_point()

ggplot(subset(Data)[数据$permiture\u meter获取哥伦布空间多边形数据框:

require(spdep)
example(columbus)
然后在子集上绘制perim散点图,区域用Y着色:

ggplot(subset(Data[which(Data$Perimeter_meter <= 90000 &       
                         Data$Area_meter < 5000),]),
     aes(x = Data$Perimeter_meter, y = Data$Area_meter, 
        colour = Data$biotopes))
ggplot(subset(data.frame(columbus),AREA>0.1), aes(x=PERIMETER, y=AREA,colour=Y))  + geom_point()

注:1.转换为data.frame(ggplot不喜欢这里的sp类对象,所以去掉空间并使其成为一个普通的数据框)。2.无需说
columbus$AREA
,因为ggplot使用非标准求值,只从数据框中获取名称;3.使用
ggplot(data,aes=…)+geom_point()
绘制散点图。

你忘了将
数据的输出传真给我。你能添加
dput(head(Data))
吗?我删除了我的答案,因为我认为这个问题可能相当特定于
空间多边形框架
对象(来自
sp
包),我对它们不是很熟悉……
子集(thing[thing$x>z,])
是对
subset
的冗余使用。无论是
subset(thing,x>z)
还是
thing[thing$x>z,]
。虽然不确定这能解决您的问题,但它会让您的代码更清晰。谢谢!这对我帮助很大!