构建具有级别的数据框

时间:2017-09-06 08:58:29

标签: r

我刚刚从Python迁移到R,我想知道R中是否有与pandas.MultiIndex.from_product类似的函数?

示例:

letters <- c('a', 'b')
numbers <- c(1, 2, 3)
df <- somefunction(letters, numbers)
df
 letters numbers
1   a       1
2   a       2
3   a       3
4   b       1
5   b       2
6   b       3

1 个答案:

答案 0 :(得分:3)

是:

> letters <- c('a', 'b')
> numbers <- c(1, 2, 3)
> expand.grid(letters=letters, numbers=numbers)
  letters numbers
1       a       1
2       b       1
3       a       2
4       b       2
5       a       3
6       b       3

您还可以使用CJ包中的data.table。它更快。但结果不是普通的数据帧,它是一个数据表:

> library(data.table)
> CJ(letters=letters, numbers=numbers)
   letters numbers
1:       a       1
2:       a       2
3:       a       3
4:       b       1
5:       b       2
6:       b       3