从表到data.frame

时间:2012-10-17 23:24:53

标签: r dataframe

我有一张表格如下:

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

1 个答案:

答案 0 :(得分: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))