我正在尝试将一个点投射到现有的PCOA空间(在R中)。我认为这一定是可能的,但我无法弄清楚如何去做。
这是我走了多远(一个玩具示例):
x <- c(1:10)
y <- c(10:1)
z <- c(rnorm(10,mean=0,sd=2),rnorm(10,mean=10,sd=2))
m <- cbind(x,y,z)
d <- dist(m)
r <- pcoa(d)
biplot(r,m)
双标图生成我想要的表示。现在,给定一个新的点P =(x,y,z)我想把它投射到上面的空间。我需要这个并且不能简单地将这个点添加到原始矩阵的原因是这个新点将是一个异常值并且会改变原始空间的投影。我想要的是知道这一点相对于无污染的表示最终到底在哪里。
另请注意,实际上我并没有实际使用欧几里德距离,所以做PCA不是一种选择。