我有一个带有标记的点模式。它是使用connected.ppp函数创建的,也是在spatstat包中创建的。我想只绘制标记等于2的点。 我认为要这样做,需要使用which.marks参数,但输出仍然是包含所有标记的图。标记肯定存在,因为当我设置use.marks = FALSE时,标记不再使用。
plot.ppp(testconn, use.marks = TRUE, which.marks = 1)
我已经包含了我的点模式对象,以防这是问题
答案 0 :(得分:1)
which.marks
中的参数plot.ppp
用于拥有整个data.frame
标记的情况。例如。如果标记是data.frame
,其列名为mark1
和mark2
,您可以通过设置标记来选择用于绘图的标记中的哪一个which.marks = "mark1"
。
要对点模式进行子集化,您可以使用subset
:
testconn1 <- subset(testconn, marks == "1", drop = TRUE)
由于您的标记是一个因素,您可以使用多重点模式,并且可以使用拆分将模式拆分为单独模式列表:
testcon_list <- split(testconn)
然后第一种类型的点位于testconn_list[[1]]
或testconn_list[["1"]]
中(不太相关,因为您的商标名称只有1,2,......,但名称类似于“mark1”等你可以使用testconn_list[["mark1"]]
或testconn_list$mark1
)。