在python
,更具体地说,在pandas
中,我可以在行或列上使用MultIndex
。 R
中是否有等价物?我正在检查几个教程,例如https://en.wikibooks.org/wiki/R_Programming/Working_with_data_frames中的教程,但我找不到合适的R
等效教程。
作为一个例子,我有以下数据框:
A-1 A-2 B-1 B-2
0 1 2 0 1
1 2 0 1 3
2 4 1 3 2
我希望它看起来像:
A B
1 2 1 2
0 1 2 0 1
1 2 0 1 3
2 4 1 3 2
我从stackoverflow找到的其他相关答案
答案 0 :(得分:8)
鉴于你正在寻找一个"解决问题"我会给你一个公认有限的一个。 R中的数组只能保持一种模式(这与大多数人的理解可能包括列表相反)
> arr1 <- matrix(scan(), 3,byrow=TRUE)
1: 1 2 0 1
5: 2 0 1 3
9: 4 1 3 2
13:
Read 12 items
> arr2 <- array(arr1, c(3,2,2)) # Re-dimensioning can also be done with `dim<-`
> arr2
, , 1
[,1] [,2]
[1,] 1 2
[2,] 2 0
[3,] 4 1
, , 2
[,1] [,2]
[1,] 0 1
[2,] 1 3
[3,] 3 2
> dimnames(arr2) <- list( rows=0:2, subcat=1:2, majorcat=c("A","B") )
> arr2
, , majorcat = A
subcat
rows 1 2
0 1 2
1 2 0
2 4 1
, , majorcat = B
subcat
rows 1 2
0 0 1
1 1 3
2 3 2
设置完成后,有一种显示方法可以提供您所要求的内容:
> ftable(arr2, row.vars=1)
subcat 1 2
majorcat A B A B
rows
0 1 0 2 1
1 2 1 0 3
2 4 3 1 2
看起来我需要以不同的方式指定它:
> ftable(arr2, row.vars=1, col.vars=3:2)
majorcat A B
subcat 1 2 1 2
rows
0 1 2 0 1
1 2 0 1 3
2 4 1 3 2