我有一個包含與由分號分隔基因名稱的同義詞的多個值的列的數據幀的:不公開的多個值,但保持跟蹤的行號
score <- c("32.01","19.5","18.0")
symbol <- c("30 kDa adipocyte complemen related protein","AAT1","Cachectin")
synonym <- c("30 kDa adipocyte complemen related protein; 30 kDa adipocyte complement-related protein; ACDC; ACRP30; ADIPOQ; APM-1; APM1; Adipocyte C1Q and collagen domain containing","AAT1; AAT1; ALT-1; ALT1; Alanine aminotransferase; Alanine aminotransferase 1; GPT 1; GPT1; Glutamate pyruvate transaminase; Glutamic--alanine transaminase 1; Glutamic--pyruvic transaminase 1","Cachectin; TNF alpha; TNF-a; TNFA; TNFSF-2; TNFSF2; TNFalpha; Tumor necrosis factor; Tumor necrosis factor ligand superfamily member 2; Tumor necrosis factor precursor; tumor necrosis factor alpha")
df <- data.frame(score, symbol, synonym, stringsAsFactors=FALSE)
這是從數據輸出的原始礦業。我將數據中的官方基因符號映射到Entrez ID。符號列通常不包含基因符號,因此我必須提取所有同義詞(通常,列表中有官方符號)。我希望跟蹤行號的目標是,一旦我將所有符號映射到Entrez ID,我就可以識別那些沒有地圖的行。
我目前使用strsplit和不公開解析出的同義詞,但我失去跟蹤哪個行的每個代名詞來自:
tmp <- data.frame(unlist(strsplit(as.character(df$synonym), "; ")))
我想要的東西,看起來像這樣:
originalRow <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3)
cbind(tmp, originalRow)
synonym originalRow
1 30 kDa adipocyte complemen related protein 1
2 30 kDa adipocyte complement-related protein 1
3 ACDC 1
4 ACRP30 1
5 ADIPOQ 1
6 APM-1 1
7 APM1 1
8 Adipocyte C1Q and collagen domain containing 1
9 AAT1 2
10 AAT1 2
11 ALT-1 2
12 ALT1 2
13 Alanine aminotransferase 2
14 Alanine aminotransferase 1 2
15 GPT 1 2
16 GPT1 2
17 Glutamate pyruvate transaminase 2
18 Glutamic--alanine transaminase 1 2
19 Glutamic--pyruvic transaminase 1 2
20 Cachectin 3
21 TNF alpha 3
22 TNF-a 3
23 TNFA 3
24 TNFSF-2 3
25 TNFSF2 3
26 TNFalpha 3
27 Tumor necrosis factor 3
28 Tumor necrosis factor ligand superfamily member 2 3
29 Tumor necrosis factor precursor 3
30 tumor necrosis factor alpha 3
任何意見將不勝感激!
不錯。我不知道seq_along。謝謝。 – user1357079