2013-10-02 112 views
0

我有什麼,我認爲是一個棘手的問題,所以我期待着聽到一些選項 - 這裏是我最喜歡的工作例如:圖像分析 - 使用計算出的距離在xy座標系統來識別周圍的細胞 - R的

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對應於圖像上的X Y像素座標。通過輸入這個命令 - 我得到了一個很好的數據表示:

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的數據框中。 2)標識與hi AvgGFP細胞相距一定距離內的任何細胞,確保排除用作中心的hi AvgGFP。讓我們將半徑設置爲50.我想獲取已識別的單元格並取其AvgGFP值並將它們放入一個名爲surround_cells的數據框中。 3)接下來,我想對所有data.frames執行此過程 - 有40名爲slice1-slice40,這都包含在「total_stats」

我想象最終的結果看起來是這樣 -

2個新數據幀(hiAvgGFP)和周邊單元(surround_cells) 每個這些數據幀將有40列包含來自片1-40的AvgGFP值。由於所有切片沒有相同數量的行 - 填充數據集中的空單元格用NA

MAN!這很難打出來!一如既往,非常感謝所有幫助。

+0

你似乎有一個單元是什麼概念一些,但我會該死如果我能找出它可能是。 –

+0

@DWin對不起,不清楚。您會注意到有一個cellID列 - 基本上每行對應一個單元格 – user2813055

+0

沒有這樣的單元格的AvgGFP高於您的標準。你能否從你提供的數據中指定所需的結果。 –

回答

1

對於關於您的數據的一些關鍵細節,您非常含糊。如果您的數據是網格化的,那麼我會建議將這些數據強制轉換爲柵格類對象,然後使用焦點函數計算您的條件單元格計算。

如果這個數據實際上沒有網格化,那麼你可以使用spdep包的功能來使用knearneigh或dnearneigh來計算K最近的鄰居。您可以輕鬆地將當前數據強制轉換爲sp spatialPointsDataFrame對象以進行此類分析。

另一種選擇是,如果您有權訪問原始柵格,那麼您可以使用上述點位置將焦點函數應用於柵格提取函數來實現您的目標。

如果你有空間的問題,那麼它是明智的利用空間班R.

相關問題