我有一列直接从数据库中检索到的基因符号,其中一些行包含两个或多个以逗号分隔的符号(参见下面的示例)。
SLC6A13
ATP5J2-PTCD1,BUD31,PTCD1
ACOT7
BUD31,PDAP1
TTC26
我想删除逗号,并将分隔符号放入新行,如下所示:
SLC6A13
ATP5J2-PTCD1
BUD31
PTCD1
ACOT7
BUD3
PDAP1
TTC26
我一直无法在 R 中找到直接的方法来做到这一点,有人有什么建议吗?
我有一列直接从数据库中检索到的基因符号,其中一些行包含两个或多个以逗号分隔的符号(参见下面的示例)。
SLC6A13
ATP5J2-PTCD1,BUD31,PTCD1
ACOT7
BUD31,PDAP1
TTC26
我想删除逗号,并将分隔符号放入新行,如下所示:
SLC6A13
ATP5J2-PTCD1
BUD31
PTCD1
ACOT7
BUD3
PDAP1
TTC26
我一直无法在 R 中找到直接的方法来做到这一点,有人有什么建议吗?
您可以使用此向量结果放入矩阵或 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
函数也可以从文件中读取。“text”参数是最近才添加的,但它可以节省输入file=textConnection("...")
。)
另一种选择是使用readLines
and strsplit
:
unlist(strsplit(readLines(textConnection(txt)),','))
"SLC6A13" "ATP5J2-PTCD1" "BUD31" "PTCD1" "ACOT7"
"BUD31" "PDAP1" "TTC26"