Não encontrei um exemplo que se aplique ao meu problema específico, mas fique à vontade para marcar como duplicado, se necessário.
Tenho uma lista aninhada como a seguinte:
nested_list <- list(
ID1 = list(
FEAT = list(
feat1 = list(start = "1", end = "15", label = "CDR1"),
feat2 = list(start = "20", end = "25", label = "CDR2")
),
SEQ = "ACTGATCGTAGCTAGCTAGATGCTGATGTGTC"
),
ID2 = list(
SEQ = "ACTGATCGGCGGTGGCTAGCTGTGGGGCGCGCGACCGGGAAAA"
)
)
Quero obter um quadro de dados como este:
id feat feat_label feat_start feat_end full_seq
1 ID1 feat1 CDR1 1 15 ACTGATCGTAGCTAGCTAGATGCTGATGTGTC
2 ID1 feat2 CDR2 20 25 ACTGATCGTAGCTAGCTAGATGCTGATGTGTC
3 ID2 <NA> <NA> NA NA ACTGATCGGCGGTGGCTAGCTGTGGGGCGCGCGACCGGGAAAA
as.data.frame(nested_list)
não produz o que eu quero, então provavelmente precisa de uma etapa extra para transformar o quadro de dados em um formato "mais longo", de preferência com algo como tidyr::pivot_longer()
.