簡體   English   中英

基於列值的子集數據幀

[英]Subset data frame based on column values

我有一個數據框,該數據框包含隨時間推移跟蹤的多個細胞中讀出的熒光,例如:

Number=c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
Fluorescence=c(9,10,20,30,8,11,21,31,6,12,22,32,7,13,23,33)
df = data.frame(Number, Fluorescence)

得到:

   Number Fluorescence
1       1            9
2       2           10
3       3           20
4       4           30
5       1            8
6       2           11
7       3           21
8       4           31
9       1            6
10      2           12
11      3           22
12      4           32
13      1            7
14      2           13
15      3           23
16      4           33

數字與單元號有關。 我想要的是根據細胞數整理熒光讀數。 這里的data.frame計數為1-4,而實際上我想要這樣的東西:

   Number Fluorescence
1       1            9
2       1            8
3       1            6
4       1            7
5       2           10
6       2           11
7       2           12
8       2           13
9       3           20
10      3           21
11      3           22
12      3           23
13      4           30
14      4           31
15      4           32
16      4           33

甚至更理想的情況是根據Number設置列,然后再設置相應的細胞熒光:

        1    2    3    4
1       9    10   20   30
2       8    11   21   31
3       6    12   22   32
4       7    13   23   33

我用過哪個函數一次提取它們:

Cell1=df[which(df[,1]==1),2]

但這需要我為每個單元格(其中有數百個)寫一行。

感謝您對此的任何幫助! 抱歉,我還是有點R菜鳥。

這個怎么樣:

library(tidyr);library(data.table)
number <- c(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)
fl <- c(9,10,20,30,8,11,21,31,6,12,22,32,7,13,23,33)
df <- data.table(number,fl)
df[, index:=1:.N, keyby=number]
df
    number fl index
 1:      1  9     1
 2:      1  8     2
 3:      1  6     3
 4:      1  7     4
 5:      2 10     1
 6:      2 11     2
 7:      2 12     3
 8:      2 13     4
 9:      3 20     1
10:      3 21     2
11:      3 22     3
12:      3 23     4
13:      4 30     1
14:      4 31     2
15:      4 32     3
16:      4 33     4

tidyr spread函數中添加了唯一標識符的索引。 查看帖子以獲取更多信息。

spread(df,number,fl)
   index 1  2  3  4
1:     1 9 10 20 30
2:     2 8 11 21 31
3:     3 6 12 22 32
4:     4 7 13 23 33

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM