2013-07-11 25 views
2

我有一列基因符號,我直接從數據庫中檢索到,並且某些行包含兩個或多個以逗號分隔的符號見下面的例子)。R - 從列中的值中刪除逗號,並將分隔值放入新行中

SLC6A13 
ATP5J2-PTCD1,BUD31,PTCD1 
ACOT7 
BUD31,PDAP1 
TTC26 

我想刪除逗號,然後將分離的符號轉換成新行,像這樣:

SLC6A13 
ATP5J2-PTCD1 
BUD31 
PTCD1 
ACOT7 
BUD3 
PDAP1 
TTC26 

我一直沒能找到直接的方式R中做到這一點, 有沒有人有什麼建議?

回答

1

另一種選擇是使用readLinesstrsplit

unlist(strsplit(readLines(textConnection(txt)),',')) 
"SLC6A13"  "ATP5J2-PTCD1" "BUD31"  "PTCD1"  "ACOT7"   
"BUD31"  "PDAP1"  "TTC26" 
4

您可以使用此矢量結果放入一個矩陣或data.frame:

vec <- scan(text="SLC6A13 
ATP5J2-PTCD1,BUD31,PTCD1 
ACOT7 
BUD31,PDAP1 
TTC26", what=character(), sep=",") 
Read 8 items 
vec 
[1] "SLC6A13"  "ATP5J2-PTCD1" "BUD31"  "PTCD1"  "ACOT7"  "BUD31"  "PDAP1"  
[8] "TTC26"  

也許是:

as.matrix(vec) 

(該scan功能還可以從文件中讀取的「文本「參數僅僅是最近添加的,但它節省了打字file=textConnection("...")。)

相關問題