2012-10-17 35 views
0

我有一個表,看起來像:從表data.frame

dat = data.frame(expand.grid(x = 1:10, y = 1:10), 
      z = sample(LETTERS[1:3], size = 100, replace = TRUE)) 
tabl <- with(dat, table(z, y)) 

tabl 
    y 
z 1 2 3 4 5 6 7 8 9 10 
    A 5 3 1 1 3 6 3 7 2 4 
    B 4 5 3 6 5 1 3 1 4 4 
    C 1 2 6 3 2 3 4 2 4 2 

現在我該如何將其轉化爲一個data.frame看起來像

1 2 3 4 5 6 7 8 9 10 
    A 5 3 1 1 3 6 3 7 2 4 
    B 4 5 3 6 5 1 3 1 4 4 
    C 1 2 6 3 2 3 4 2 4 2 

回答

2

這裏有一對夫婦選項。 原因as.data.frame(tabl)不起作用的是,它發送到S3方法as.data.frame.table()它做了一些有用的,但不同於你想要的。

as.data.frame.matrix(tabl) 
# 1 2 3 4 5 6 7 8 9 10 
# A 5 4 3 1 1 3 3 2 6 2 
# B 1 4 3 4 5 3 4 4 3 3 
# C 4 2 4 5 4 4 3 4 1 5 

## This will also work 
as.data.frame(unclass(tabl))