2015-07-21 55 views
0

如何轉換一個數據表的列,例如:如何轉換表爲列[R

AB CD EF JK LM 
X 6 0 5 0 0 
Y 0 7 0 0 0 
Z 0 0 8 0 0 
A 0 0 0 9 0 
B 0 0 0 6 10 

 V1 V2 
X AB 6 
X EF 5 
Y CD 7 
Z EF 8 
A JK 9 
B LM 10 
B JK 6 

回答

0

一種選擇是將「data.frame」轉換爲'矩陣',melt it和subset'值'不是'0'。

library(reshape2) 
subset(melt(as.matrix(df1)), value!=0) 

或者

library(dplyr) 
library(tidyr) 
add_rownames(df1, 'rn') %>% 
      gather(V1, V2, -rn) %>% 
      filter(V2!=0)