gpt4 book ai didi

r - 在 R 中将列表作为长格式的列的 tibble?

转载 作者:行者123 更新时间:2023-12-03 07:50:13 25 4
gpt4 key购买 nike

假设我们有以下小标题:

set.seed(123)

mightyTibble <- tibble(
year = 1:10,
revenue = 1000*rgamma(10,2000,3000),
cost = 100*rgamma(10,2000,3000),
items = lapply(1:10, \(i) runif(rpois(1,6), 10, 20))
)

mightyTibble
# A tibble: 10 × 4
year revenue cost items
<int> <dbl> <dbl> <list>
1 1 658. 67.2 <dbl [2]>
2 2 684. 66.8 <dbl [3]>
3 3 642. 65.8 <dbl [8]>
4 4 668. 68.6 <dbl [8]>
5 5 692. 67.9 <dbl [4]>
6 6 673. 66.6 <dbl [4]>
7 7 648. 65.9 <dbl [5]>
8 8 641. 66.3 <dbl [7]>
9 9 685. 65.1 <dbl [6]>
10 10 672. 66.5 <dbl [9]>

现在,如何将其整齐地放入长格式中?到目前为止,我尝试了 tidyr 包中的 pivot_longer ,但如果我理解正确的话,它无法处理列表列。

最佳答案

unnest_longer 就是您正在寻找的 -

library(tidyr)
mightyTibble %>% unnest_longer(items)

# A tibble: 56 × 4
# year revenue cost items
# <int> <dbl> <dbl> <dbl>
# 1 1 658. 67.2 14.4
# 2 1 658. 67.2 18.0
# 3 2 684. 66.8 15.6
# 4 2 684. 66.8 12.1
# 5 2 684. 66.8 11.3
# 6 3 642. 65.8 19.0
# 7 3 642. 65.8 13.7
# 8 3 642. 65.8 16.7
# 9 3 642. 65.8 10.9
#10 3 642. 65.8 13.8
# ℹ 46 more rows

关于r - 在 R 中将列表作为长格式的列的 tibble?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77367736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com