繁体   English   中英

连接R中2个不同数据集中的点

[英]connecting dots in 2 different data sets in R

我有2个数据集(DSA和DSB)包含x和y坐标

tumor<- data.frame(DSA[,c("X_Parameter","Y_Parameter")])
cells<-data.frame(DSB[,c ("X_Parameter","Y_Parameter")])
plot(cells, xlim=c(1,1300), ylim=c(1,1000), col="red")
par(new=TRUE)
plot(tumor, xlim=c(1,1300), ylim=c(1,1000), col="blue")

情节使这张图 在此处输入图片说明

我希望能够从每个红点到每个蓝点画一条连接线。 有谁知道这是否可以做到。 谢谢

样本DSA =(5,5 6,6 5,6 6,5)DSB =(1,1 10,10 10,1 1,10)图应该是什么样 在此处输入图片说明

蛮力,也许优雅:

DSA <- data.frame(x = c(5, 6, 5, 6),
                  y = c(5, 6, 6, 5))
DSB <- data.frame(x = c(1, 10, 10, 1),
                  y = c(1, 10, 1, 10))

plot(y ~ x, DSB, col = "red")
points(DSA, col = "blue")
for (r in seq_len(nrow(DSA))) {
  segments(DSA$x[r], DSA$y[r], DSB$x, DSB$y)
}

蛮力段

编辑:更直接地:

nA <- nrow(DSA)
nB <- nrow(DSB)
plot(y ~ x, DSB, col = "red")
points(DSA, col = "blue")
segments(rep(DSA$x, each = nB),  rep(DSA$y, each = nB),
         rep(DSB$x, times = nA), rep(DSB$y, times = nA))

(我仍然不能找出与@ 42的建议,对于一个优雅溶液combnouter )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM