2017-03-09 81 views
0

我有一個叫exp_epis_2 data.frame,看起來像這樣:R:轉換data.frame到data.frame與正確的尺寸

> exp_epis_2[1,] 
$V1 
[1] 1 2 3 4 5 

$V2 
[1] 1 10 13 9 3 

> exp_epis_2[2,] 
$V1 
    [1] 1 2 3 4 5 

$V2 
    [1] 1 7 6 9 6 

我更願意看到這樣的:

1 1 
2 10 
3 13 
4 9 
5 3 
1 1 
2 7 
3 6 
4 9 
5 6 

我很確定這很簡單,但我似乎無法找到一個好的答案。

編輯:每個請求,這裏是dput(head(exp_epis_2))輸出:

dput(head(exp_epis_2)) 
structure(list(1:91, 1:115, 1:105, 1:98, 1:109, 1:110, c(1L, 
10L, 13L, 9L, 3L, 12L, 7L, 6L, 10L, 11L, 7L, 8L, 6L, 8L, 7L, 
4L, 7L, 6L, 8L, 3L, 6L, 6L, 4L, 6L, 6L, 4L, 5L, 1L, 3L, 3L, 2L, 
3L, 3L, 2L, 2L, 1L, 0L, 2L, 2L, 2L, 4L, 3L, 1L, 3L, 1L, 2L, 0L, 
0L, 2L, 2L, 1L, 2L, 3L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 
1L, 1L, 2L, 0L, 0L, 1L, 1L, 2L, 1L, 0L, 1L, 0L, 2L, 2L, 1L, 1L, 
0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L), c(1L, 7L, 6L, 
9L, 6L, 12L, 6L, 14L, 8L, 7L, 8L, 6L, 6L, 1L, 5L, 0L, 3L, 5L, 
5L, 11L, 4L, 4L, 2L, 4L, 4L, 2L, 3L, 8L, 4L, 1L, 2L, 4L, 5L, 
5L, 7L, 6L, 6L, 4L, 2L, 3L, 1L, 1L, 0L, 1L, 1L, 2L, 4L, 0L, 2L, 
3L, 1L, 3L, 0L, 0L, 1L, 1L, 1L, 0L, 2L, 1L, 1L, 1L, 0L, 1L, 0L, 
0L, 2L, 1L, 0L, 1L, 2L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 
2L, 0L, 1L, 2L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 
0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
0L, 1L), c(1L, 9L, 10L, 7L, 10L, 8L, 11L, 6L, 11L, 6L, 7L, 8L, 
5L, 4L, 10L, 3L, 7L, 3L, 4L, 9L, 1L, 4L, 2L, 4L, 4L, 5L, 8L, 
5L, 4L, 2L, 5L, 3L, 3L, 4L, 1L, 2L, 3L, 4L, 3L, 1L, 1L, 0L, 1L, 
1L, 2L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 0L, 1L, 3L, 2L, 5L, 0L, 2L, 
2L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 2L, 0L, 0L, 1L, 1L, 0L, 1L, 
0L, 1L, 0L, 0L, 0L, 1L, 2L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 
1L, 0L, 0L, 0L, 2L, 0L, 1L, 0L, 1L, 2L, 1L, 2L, 0L, 1L), c(1L, 
8L, 5L, 6L, 7L, 6L, 7L, 9L, 10L, 7L, 8L, 4L, 6L, 14L, 4L, 5L, 
6L, 3L, 7L, 8L, 6L, 3L, 7L, 4L, 3L, 6L, 1L, 6L, 1L, 5L, 5L, 5L, 
2L, 3L, 4L, 2L, 1L, 0L, 3L, 4L, 1L, 6L, 0L, 3L, 4L, 3L, 1L, 1L, 
2L, 3L, 1L, 4L, 0L, 3L, 2L, 1L, 3L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 0L, 2L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 
0L, 0L, 0L, 1L, 2L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 
0L, 1L), c(1L, 10L, 10L, 8L, 10L, 10L, 10L, 10L, 10L, 10L, 6L, 
8L, 3L, 10L, 5L, 7L, 6L, 6L, 5L, 5L, 5L, 3L, 2L, 5L, 5L, 4L, 
2L, 3L, 1L, 5L, 3L, 2L, 4L, 5L, 0L, 3L, 2L, 3L, 7L, 5L, 2L, 0L, 
1L, 4L, 4L, 1L, 1L, 2L, 3L, 1L, 1L, 0L, 1L, 0L, 2L, 0L, 2L, 2L, 
1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 2L, 0L, 0L, 1L, 
0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 
0L, 0L, 1L), c(1L, 6L, 10L, 17L, 9L, 12L, 7L, 15L, 5L, 10L, 15L, 
5L, 9L, 6L, 8L, 8L, 6L, 0L, 4L, 7L, 3L, 2L, 5L, 1L, 4L, 6L, 4L, 
2L, 4L, 0L, 5L, 2L, 2L, 2L, 2L, 0L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 
1L, 0L, 2L, 3L, 3L, 0L, 0L, 0L, 3L, 1L, 2L, 0L, 1L, 0L, 0L, 0L, 
0L, 1L, 1L, 1L, 0L, 2L, 1L, 1L, 1L, 0L, 0L, 0L, 2L, 2L, 0L, 2L, 
0L, 2L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 2L, 
0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 
0L, 0L, 1L)), .Dim = c(6L, 2L), .Dimnames = list(NULL, c("V1", 
"V2"))) 

也許是更容易看到它這個樣子。在原來的職位,我截斷爲每個列表5層的元件,但在現實中exp_epis_2 [1,]有91個元件和exp_epis_2 [2,1]具有115個元素

> exp_epis_2[1:2,] 
    V1   V2   
[1,] Integer,91 Integer,91 
[2,] Integer,115 Integer,115 

編輯2:

好了,一個改進:

cbind(exp_epis_2[1,][[1]], exp_epis_2[1,][[2]]) 

給出:

 [,1] [,2] 
[1,] 1 1 
[2,] 2 10 
[3,] 3 13 
[4,] 4 9 
[5,] 5 3 

良好的開端。然後我想:

current = matrix() 
for(i in 1:nrow(exp_epis_2)) { 
    rbind(current, cbind(exp_epis_2[i,][[1]], exp_epis_2[i,][[2]])) 
} 

但我似乎無法反覆rbind ....

+3

您能否使用'dput(exp_epis)'提供您的數據? – G5W

+0

@ G5W它有4000行.... – StatsSorceress

+1

嘗試'dput(head(exp_epis))'。 –

回答

0

我想你想要的是

apply(exp_epis_2, 2, unlist) 

但是,要知道,exp_epis_2是一個矩陣,而不是像你似乎認爲,一個數據幀。

0

,您仍然可以使用數據幀,但它取決於你如何加載它。您將數據加載到2個數據框中,但您寧願將數據加載到1中。以您想要的方式存儲數據的另一種方式可能是矩陣。

+0

謝謝@Yash Mehra,但我該怎麼做?我使用哪些命令? – StatsSorceress