我正在尝试查看嵌套向量中的元素如何与 Order_ID 列中的订单 ID 匹配,但我不太确定如何将它们匹配在一起。例如:
我想创建代码以将订单 ID 与嵌套向量中的单独元素匹配。例如,我希望看到
我尝试使用unlist()
从嵌套向量中提取元素,但我仍然不确定如何将它们与订单 ID 匹配。有没有办法解决这个问题?任何想法表示赞赏。
我正在尝试查看嵌套向量中的元素如何与 Order_ID 列中的订单 ID 匹配,但我不太确定如何将它们匹配在一起。例如:
我想创建代码以将订单 ID 与嵌套向量中的单独元素匹配。例如,我希望看到
我尝试使用unlist()
从嵌套向量中提取元素,但我仍然不确定如何将它们与订单 ID 匹配。有没有办法解决这个问题?任何想法表示赞赏。
在这里,您有一个可重现的问题示例:
library(dplyr)
df <- tibble(x = letters[1:3],
a = list(1L, 2:3, 4:6),
b = list(LETTERS[1], LETTERS[2:3], LETTERS[4:6]))
df
#> # A tibble: 3 x 3
#> x a b
#> <chr> <list> <list>
#> 1 a <int [1]> <chr [1]>
#> 2 b <int [2]> <chr [2]>
#> 3 c <int [3]> <chr [3]>
View(df)
在这里你可以如何解决它:
df %>%
group_by(x) %>%
summarise(across(c(a,b), unlist), .groups = "drop")
#> # A tibble: 6 x 3
#> x a b
#> <chr> <int> <chr>
#> 1 a 1 A
#> 2 b 2 B
#> 3 b 3 C
#> 4 c 4 D
#> 5 c 5 E
#> 6 c 6 F
您需要设置group_by
要保留和复制的所有变量(在本例中x
)以及要取消列出的所有变量(在本例中c(a, b)
)。
across
通过考虑组,将适用unlist
于每一列。
我相信在你的情况下,代码应该是:
df %>%
group_by(Order_ID) %>%
summarise(across(c(Product, Price, Quantity), unlist), .groups = "drop")