2013-07-11 21 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("...")。)

相关问题