在 RStudio 中查看 table,其中包含两个标记为 tibble 的交叉数据

View in RStudio a table with crossed data of two labelled of a tibble

如果我有一个数据框(或小标题)df如下:

x <- c(2,2,2,1,1,2,3)
y <- c(5,5,4,5,4,4,5)
df <- data.frame(x,y)

然后,如果我用指令 table(df$x,df$y) 交叉数据,我会得到一个矩阵形式:

     4    5
1    1    1
2    2    2
3    0    1

但是如果我对相同的指令执行 View,我看到的结构就会不同,如下所示:

 1    4    1
 2    4    2
 3    4    0
 1    5    1
 2    5    2
 3    5    1

你知道是否有一些指令可以制作类似于View的东西(考虑到它的描述:Invoke a spreadsheet-style data viewer on a matrix-like R object)保留交集table的第一个结构?

提前致谢。

table(...) 的结果是 class "table" 的对象。有一种 as.data.frame.table 方法可以重新排列数据;大概 View() 正在使用它。这是有道理的,因为 tables 可以有 2 个索引;例如table(df$x, df$y, df$x) 将有 3 个索引,因此需要对其进行重塑以成为数据框。

如果您知道 table 有两个索引,则可以在将其传递给 View() 之前使用 unclass(),即 View(unclass(table(df$x, df$y))).