spatstat包cdf.test.ppp函数协变量选择及含义的技术咨询
问题
我正在评估培养细胞的空间均匀性,已通过ImageJ获取DAPI染色细胞核的x、y坐标,导入R后执行以下代码创建ppp对象并尝试进行检验:
### Read in Coordinates from ImageJ DATA <- read.delim("clipboard", header = F) ### The columns V6,V7 are the X,Y Coordinates pts <- ppp(DATA$V6,DATA$V7, window = square(1946)) plot(pts) ### Checked to see if the ppp object matches the image, no problem here cdf.test.ppp(pts, test = "ks", covariate = "x")
得到的结果为:
Spatial Kolmogorov-Smirnov test of CSR in two dimensions
data: covariate ‘function(x, y) {’ evaluated at points of ‘pts’
and transformed to uniform distribution under CSR
D = xxx, p-value = xxx
alternative hypothesis: two-sided
我不清楚该函数中“covariate”参数的具体含义,这些细胞无标记(均为同类细胞),使用“x”或“y”作为协变量能得到预期结果(聚类细胞图像的KS检验p值显著,均匀分布的则不显著),但我需要明确该协变量的意义及当前选择是否恰当,此前查询资料未找到详细解释。
解答
1. covariate参数的核心含义
cdf.test.ppp是检验**完全空间随机(CSR)**的工具,它的核心逻辑是把二维点分布转化为一维分布来做KS检验,covariate就是用来指定这个一维转化的依据:
- 当传入
"x"或"y"时,本质是提取每个细胞的x轴(或y轴)坐标作为一维变量,对比这些坐标的实际分布,和CSR假设下(细胞均匀随机分布时)x/y坐标的理论均匀分布之间的差异。 - 直白来说:如果细胞是完全随机分布的,它们的x坐标应该在窗口的x轴范围内均匀铺开,y坐标同理;要是存在聚类或规则排列,x/y坐标的分布就会偏离均匀,KS检验就能捕捉到这种偏离。
2. 选择x或y作为协变量是否恰当?
对于你这种无标记同类细胞的空间均匀性评估,这个选择完全合理:
- 这属于一维投影检验,通过把二维点投影到x或y轴,用一维检验间接判断二维空间的随机性,操作简单且对你的数据有效——你已经验证了聚类细胞p值显著、均匀分布p值不显著,说明这个方法能准确区分两种情况。
- 仅有的注意点:如果细胞的非随机性只出现在斜向(比如沿x+y方向聚类),单独用x或y可能会漏检,这种情况可以自定义协变量,比如
covariate = function(x,y) x+y;但如果你的数据在x/y方向的投影已经能得到可靠结果,就没必要额外调整。
内容的提问来源于stack exchange,提问作者작은과학자
相关产品推荐
相关产品推荐

