1

重複の可能性:
data.frameから因子リストを「解凍」する

このようなものと同じフォーマットのデータフレームがある場合

X   geneA,geneB
Y   geneD,geneF
Z   geneH,geneL,geneS

2番目の列を(コンマで)分割し、最初の列の対応する値を割り当てて次のようにすることができるように、すばやく効率的に拡張する方法を見つけようとしています。

X   geneA
X   geneB
Y   geneD
Y   geneF
Z   geneH
Z   geneL
Z   geneS

よろしくお願いします!

4

1 に答える 1

1

melt.listパッケージから使用するソリューションは次のreshape2とおりです。

library(reshape2)

dat = read.table(header=FALSE, stringsAsFactors=FALSE,
                 text="X   geneA,geneB
                       Y   geneD,geneF
                       Z   geneH,geneL,geneS")

lst = strsplit(dat$V2, ",")
names(lst) = dat$V1

res = melt(lst)

res
#   value L1
# 1 geneA  X
# 2 geneB  X
# 3 geneD  Y
# 4 geneF  Y
# 5 geneH  Z
# 6 geneL  Z
# 7 geneS  Z
于 2013-01-11T01:14:35.210 に答える