Expand.grid()

函数用于生成多个向量的笛卡尔积。它接受多个参数,每个参数都代表一个向量,函数会返回一个数据框,其中包含了所有可能的组合

expand.grid(...)
- ...: 一个或多个向量,用于生成其笛卡尔积。每个参数都应该是一个向量对象,可以是数值向量、字符向量、因子向量等。
# 示例数据
vec1 <- c("A", "B", "C")
vec2 <- c(1, 2)
vec3 <- c(TRUE, FALSE)

# 生成笛卡尔积
result <- expand.grid(vec1, vec2, vec3)

# 打印结果
print(result)

在上述示例中,我们有三个向量 vec1vec2vec3,分别包含了不同的元素。通过调用 expand.grid() 函数,并将这三个向量作为参数传递给该函数,我们生成了这三个向量的笛卡尔积。结果存储在 result 中,并通过打印语句输出。 输出结果如下所示:

  Var1 Var2  Var3
1    A    1  TRUE
2    B    1  TRUE
3    C    1  TRUE
4    A    2  TRUE
5    B    2  TRUE
6    C    2  TRUE
7    A    1 FALSE
8    B    1 FALSE
9    C    1 FALSE
10   A    2 FALSE
11   B    2 FALSE
12   C    2 FALSE

在输出结果中,每一行代表一个笛卡尔积的组合,列名以 Var 开头,后面跟着对应的参数序号。例如,Var1 列对应 vec1 的元素,Var2 列对应 vec2 的元素,Var3 列对应 vec3 的元素。这样,我们就得到了所有可能的组合。