r语言 - 原始数据和空间数据的子集



我创建了一个空间点数据框(df_sp$纬度(,并希望绘制一个与原始数据框中的变量进行比较的图形(df$丰度(。

但是,我想从 df$abundance 中过滤所有大于零的值。我将如何过滤掉这些以及 df_sp$latitude 内的相应变量,而不会以我当前收到的此错误告终?

Error in xy.coords(x, y, xlabel, ylabel, log) : 
'x' and 'y' lengths differ

我能够生成这样的简单情节:

plot(df_sp$Latitude, df$Abundance)

但是,我不确定如何对数据进行子集化以包含大于零的丰度值。

df2 <- cbind(df_sp$Latitude, df$Abundance)
df2 <- df2[df2$Abundance > 0,:]
plot(df2)

感谢您的回复,是的,我只需要绑定两个数据集,然后过滤它们

为了实现这一点,你应该将x和y绑定在一起,这样你就可以同时过滤它们。否则,您将有不同的长度参数。然后你可以像以前一样绘图。此时,您只需用两行绘制结果矩阵,r 会将第一列作为 x 坐标,将第二列作为 y 坐标。以下代码实现此目的:

plot(cbind(df_sp$Latitude, df$Abundance)[df2$Abundance > 0,])

最新更新