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) 特定の AvgGFP 値を超えるしきい値を持つ ID セル、たとえば 75 とします。識別されたセルを取得し、それらの AvgGFP 値を取得して、hiAvgGFP という data.frame に入れます。2) hi AvgGFP セルから一定の距離内にあるセルを ID し、中心として使用される hi AvgGFP を除外するようにします。半径を 50 に設定しましょう。識別されたセルを取得し、それらの AvgGFP 値を取得して、それを Surround_cells という data.frame に配置します。3) 次に、すべての data.frames でこのプロセスを実行したいと思います。「total_stats」にすべて含まれている、slice1-slice40 と呼ばれる 40 があります。

最終結果は次のようになると想像しています-

2 つの新しい data.frames (hiAvgGFP) と周囲のセル (surrounding_cells) これらの各 data.frames には、スライス 1 ~ 40 の AvgGFP 値を含む 40 列があります。すべてのスライスの行数が同じではないため、データセットの空のセルを NA で埋めます

男!入力するのは大変でした!いつものように、すべてのヘルプは非常に高く評価されています.

4

1 に答える 1

1

あなたのデータに関するいくつかの重要な詳細については、かなりあいまいです。データがグリッド化されている場合は、このデータをラスター クラス オブジェクトに強制し、焦点関数を使用して条件付きセル計算を計算することをお勧めします。

このデータが実際にグリッド化されていない場合は、spdep パッケージの機能を使用して、knearneigh または dnearneigh を使用して K 個の最近傍を計算できます。現在のデータを sp spatialPointsDataFrame オブジェクトに簡単に変換して、このタイプの分析を実行できます。

もう 1 つの方法は、元のラスターにアクセスできる場合、上記の点の位置を使用してラスター抽出関数に焦点関数を適用し、目的を達成することです。

空間的な問題がある場合は、R の空間クラスを活用するのが賢明です。

于 2013-10-02T03:03:55.217 に答える