R中的动态列表

时间:2017-03-19 14:56:25

标签: r list

假设我有下一个列表

list<-list(c(5,4,3,2),
       c(4.5,3.5,2.5,1.5), 
       c(4,3,2,1), 
       c(3.5,2,1.5,0.7)) 

我想要实现的是下一个订单

[[1]]
[1] 5 4.5 4 3.5

[[2]]
[1] 4 3.5 3 2

[[3]]
[1] 3 2.5 2 1.5

[[4]]
[1] 2 1.5 1 0.7

我做了类似的事情但效果不佳

nueva_lista=list()
for (i in 1:4){
  for (j in 1:4){
  nueva_lista[[i]][j]<=list[[j]][i]
  }
}

错误在哪里?谢谢!

1 个答案:

答案 0 :(得分:2)

我们可以使用purrr

执行此操作
library(purrr)
library(dplyr)
list %>% 
     transpose() %>% 
     map(unlist)
#[[1]]
#[1] 5.0 4.5 4.0 3.5

#[[2]]
#[1] 4.0 3.5 3.0 2.0

#[[3]]
#[1] 3.0 2.5 2.0 1.5

#[[4]]
#[1] 2.0 1.5 1.0 0.7