【发布时间】:2014-07-16 12:12:08
【问题描述】:
我有一个较大的数据框(50000 个点),表示从生物图像中收集的二维点。点被分类为红色或绿色,并在组中相互关联(在示例中:单元格 A-D)。一个小的测试数据集(MSR_test.csv)可以在here找到。
require(ggplot2)
cells <- read.csv("MSR_test.csv")
ggplot(cells, aes(X, Y, colour = channel, shape = cell)) +
geom_point() +
scale_colour_manual(values = c("green","red"), name = "channel")
我试图找到一种相当直接的方法(可能涉及plyr?)来找到同一“细胞组”内每个绿点与其最近的红点之间的欧几里得距离。虽然我认为我已经弄清楚了如何为单个分组执行此操作(使用包 fields 中的 rdist),但我似乎无法弄清楚如何将方法应用于我的数据框。
【问题讨论】:
-
也许使用
apply函数来提取各种分组子集并依次运行rdist,存储所需的距离?