簡體   English   中英

在R中子集嵌套列表

[英]Subsetting nested lists within R

我試圖從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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM