1
我想用特定格式(前面的最小示例)轉換列表中的數據幀。 對於下面的數據框,我想最後列出5個元素,每個元素都有一個由5個元素組成的列表。將data.frame/tibble以分組方式轉換爲列表
parameters = tidyr::expand(tibble(id=1:5, value = 1:5 * 2),id,value)
# A tibble: 6 x 2
id value
<int> <dbl>
1 1 2
2 1 4
3 1 6
4 1 8
5 1 10
6 2 2
result = base::split(parameters, list(parameters$id))
result = lapply(result, function(x) { x["id"] <- NULL; x })
到目前爲止,它獲得了id權(5個元素),但不是它們中的子元素。它給出了第一個元素
> a[1]
$`1`
# A tibble: 5 x 1
value
<dbl>
1 2
2 4
3 6
4 8
5 10
,而我希望把它作爲
> as.list(a$`1`$value)
[[1]]
[1] 2
[[2]]
[1] 4
[[3]]
[1] 6
[[4]]
[1] 8
[[5]]
[1] 10
這樣的結果看起來是這樣的
[1]
[[1]]
[1] 2
[[2]]
[1] 4
[[3]]
[1] 6
[[4]]
[1] 8
[[5]]
[1] 10
[2]
[[1]]
[1] 2
[[2]]
[1] 4
[[3]]
[1] 6
[[4]]
[1] 8
[[5]]
[1] 10
是否有任何優雅的方式爲了達成這個?
注意,'結果=基地::分(參數$值,列表(參數的$ id))'使第二'lapply'線不必要。 – lmo
感謝您的提示! – MaHo