0

我有一个我认为很棘手的问题,所以我期待听到一些选项 - 这是我最喜欢的工作示例:

 cellID         X          Y Area   AvgGFP DeviationGFP   AvgRFP DeviationsRFP Slice GUI.ID
1       1  18.20775  26.309859  568 5.389085     7.803248 12.13028      5.569880     0      1
2       2  39.78755   9.505495  546 5.260073     6.638375 17.44505     17.220153     0      1
3       3  30.50000  28.250000    4 6.000000     4.000000  8.50000      1.914854     0      1
4       4  38.20233 132.338521  257 3.206226     5.124264 14.04669      4.318130     0      1
5       5  43.22467  35.092511  454 6.744493     9.028574 11.49119      5.186897     0      1
6       6  57.06534 130.355114  352 3.781250     5.713022 20.96591     14.303546     0      1
7       7  86.81765  15.123529 1020 6.043137     8.022179 16.36471     19.194279     0      1
8       8  75.81932 132.146417  321 3.666667     5.852172 99.47040     55.234726     0      1
9       9 110.54277  36.339233  678 4.159292     6.689660 12.65782      4.264624     0      1
10     10 127.83480  11.384886  569 4.637961     6.992881 11.39192      4.287963     0      1

这是一个包含图像信息的文本文件,我还有很多其他行。X - Y 列对应于图像上的 XY 像素坐标。通过输入这个命令 - 我在图中得到了一个很好的数据表示:

p <- ggplot(total_stats[[slice]], aes(X, Y))
p + geom_point(aes(colour = AvgGFP)) + scale_colour_gradient(low = 'white', high = 'black')

我想做的是以下。1) ID 单元格的阈值高于某个 AvgGFP 值,比如说 75。我想获取已识别的单元格并获取它们的 AvgGFP 值并将它们放入名为 hiAvgGFP 的 data.frame 中。2) 识别距 hi AvgGFP 细胞一定距离内的任何细胞,确保排除用作中心的 hi AvgGFP。让我们将半径设置为 50。我想获取已识别的单元格并获取它们的 AvgGFP 值,然后将它们放入名为around_cells 的 data.frame 中。3)接下来我想对所有data.frames执行这个过程——有40个叫做slice1-slice40,它们都包含在'total_stats'中

我想象最终结果看起来像这样 -

2 个新的 data.frames (hiAvgGFP) 和周围的单元格 (surrounding_cells) 每个 data.frames 将有 40 列,其中包含来自切片 1-40 的 AvgGFP 值。由于所有切片的行数不同 - 使用 NA 填充数据集中的空单元格

男人!这很难打字!一如既往,非常感谢任何和所有帮助。

4

1 回答 1

1

您对有关数据的一些关键细节非常含糊。如果您的数据是网格化的,那么我建议将这些数据强制转换为栅格类对象,然后使用焦点函数来计算您的条件单元格计算。

如果此数据实际上不是网格化的,那么您可以使用 spdep 包的功能使用 knearneigh 或 dnearneigh 计算 K 最近邻。您可以轻松地将当前数据强制转换为 sp spatialPointsDataFrame 对象以进行此类分析。

另一种选择是,如果您可以访问原始栅格,那么您可以使用上述点位置将焦点函数应用于栅格提取函数,以实现您的目标。

如果您有空间问题,那么在 R 中利用空间类是明智的。

于 2013-10-02T03:03:55.217 回答