假设我们有两个分类变量 A
和 B
,每个变量可以取6个值。所以有36种可能的组合。我想创建一个新变量 category
,根据 A
和 B
的值枚举这些可能性。有没有办法在没有硬编码的情况下做到这一点?
答案 0 :(得分:0)
apply(expand.grid(unique(A), unique(B)), 1, paste, collapse="")
从最内功能到最外层:
unique
,返回其参数的唯一值expand.grid
,返回一个包含其组件的笛卡尔积的矩阵apply
,将给定函数应用于给定维度的指定矩阵/ data-frame / ...(1
=行,2
=列)paste
连接字符串或向量元素