2013-01-10 58 views
1

可能重複:
「unpacking」 a factor list from a data.frame展開數據幀有分流中的R

如果我有具有相同的格式,是這樣的

X geneA,geneB 
Y geneD,geneF 
Z geneH,geneL,geneS 
的數據幀

我試圖找到一種快速而有效的擴展方式,這樣我就可以分割(用逗號)第二個colu並分配相應的值的第一列給我這樣的事情

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

謝謝先進的!

回答

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