【发布时间】:2021-05-14 12:08:36
【问题描述】:
我有一个非常难的列表,假设它有 3 个元素。
第一个是一个叫做“a”的向量,a
v1 v2 v3
5 5 5
5 5 5
5 5 5
我需要得到这个:
a b v1 v2 v3
1 3 5 5 5
1 3 5 5 5
1 3 5 5 5
2 4 5 5 5
2 4 5 5 5
2 4 5 5 5
当然列表的每个元素都有一个更大的大小,但它适用于两个,它会为“n”做。
谢谢!
【问题讨论】:
我有一个非常难的列表,假设它有 3 个元素。
第一个是一个叫做“a”的向量,a
v1 v2 v3
5 5 5
5 5 5
5 5 5
我需要得到这个:
a b v1 v2 v3
1 3 5 5 5
1 3 5 5 5
1 3 5 5 5
2 4 5 5 5
2 4 5 5 5
2 4 5 5 5
当然列表的每个元素都有一个更大的大小,但它适用于两个,它会为“n”做。
谢谢!
【问题讨论】:
我们可以使用expand_grid
library(tidyr)
expand_grid(a, b)
-输出
# A tibble: 6 x 4
# a v1 v2 v3
# <dbl> <int> <int> <int>
#1 1 4 4 4
#2 1 4 4 4
#3 1 4 4 4
#4 2 4 4 4
#5 2 4 4 4
#6 2 4 4 4
a <- 1:2
b <- structure(list(v1 = c(4L, 4L, 4L), v2 = c(4L, 4L, 4L), v3 = c(4L,
4L, 4L)), class = "data.frame", row.names = c(NA, -3L))
【讨论】: