% -6ren">
gpt4 book ai didi

r - 在 R 中对嵌套列表进行子集化

转载 作者:行者123 更新时间:2023-12-01 13:35:48 25 4
gpt4 key购买 nike

我正在尝试从 R 中的嵌套列表创建数据框。这是一个示例:

mylist<-list(file1 = list("a", sample1 = list(x = 2, y = list(c(1, 2)), 
sample2 = list(x = 4, y = list(c(3, 8))))), file2 = list(
"a", sample1 = list(x = 6, y = list(c(6, 4)), sample2 = list(
x = 6, y = list(c(7, 4))))))

我想知道如何从嵌套列表中提取所有特征“x”和特征“y”,并将“y”分成两列;每个值一个?

谢谢大家的宝贵时间!

最佳答案

我不确定您期望的输出应该是什么样的,但也许是这样的?

library(tidyverse)
unlist(mylist) %>%
data.frame(val = .) %>%
rownames_to_column("id") %>%
filter(str_detect(id, "(x|y1|y2)")) %>%
separate(id, into = c("id", "col"), sep = "\\.(?=\\w+$)") %>%
spread(col, val)
# id x y1 y2
#1 file1.sample1 2 1 2
#2 file1.sample1.sample2 4 3 8
#3 file2.sample1 6 6 4
#4 file2.sample1.sample2 6 7 4

关于r - 在 R 中对嵌套列表进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52556487/

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