我有一个向量列表。这个向量由名称 A1,A2.. 和数值组成:
a <- list()
a$`p1`["A1"] <- 1
a$`p1`["A2"] <- 0.5
a$`p1`["A3"] <- 0.3
a$`p2`["A3"] <- 2
a$`p2`["A4"] <- 2.5
a$`p2`["A5"] <- 2.3
Run Code Online (Sandbox Code Playgroud)
我希望将其转换为具有以下结构的数据框
P <- c("p1","p1","p1","p2","p2","p2")
A <- c("A1","A2","A3","A3","A4","A5")
V <- c(1,0.5,0.3,2,2.5,2.3)
out <- data.frame(P,A,V)
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
一个选项base R
do.call(rbind, Map(cbind, lapply(a, stack), P = names(a)))
Run Code Online (Sandbox Code Playgroud)