簡體   English   中英

更改列表中列表的名稱

[英]Change names of lists in list

我有元素“a”和“b”的列表,它們是長度從 2010-01-01 到 2020-03-03 的 xts 對象

>List
 $a         col1 col2
 2020-01-01 7.50 50000     
 2020-01-02 7.55 40000 
 $b         col1 col2
 2020-01-01 4.50 50000     
 2020-01-02 4.70 35000

然后我使用 split() function 按周拆分它們,output 是這樣的:

>List
 $a[[1]]    col1  col2
 2020-01-01 7.50 50000
 $a[[2]]    col1  col2 
 2020-01-02 7.55 40000 
 $b[[1]]    col1  col2
 2020-01-01 4.50 50000
 $b[[2]]    col1  col2
 2020-01-02 4.70 35000

如何更改列表名稱,因為從這個拆分 function 我得到了我的元素名稱的編號。 我正在尋找這個:

 >List
  $a          col1  col2
  2020-01-01  7.50 50000 
  $a          col1  col2 
  2020-01-02  7.55 40000
  $b          col1  col2
  2020-01-01  4.50 50000 
  $b          col1  col2
  2020-01-02  4.70 35000

也許你可以試試下面的代碼

Listout<- setNames(unlist(lapply(List, function(x) split(x,seq(nrow(x)))),recursive = FALSE),
                   rep(names(List),sapply(List,nrow)))

這樣

> Listout
$a
           col1  col2
2020-01-01  7.5 50000

$a
           col1  col2
2020-01-02 7.55 40000

$b
           col1  col2
2020-01-01  4.5 50000

$b
           col1  col2
2020-01-02  4.7 35000

數據

List <- list(a = data.frame(col1=c(7.5,7.55),col2 = c(5e4,4e4),row.names = c("2020-01-01","2020-01-02")),
             b = data.frame(col1=c(4.5,4.7),col2 = c(5e4,3.5e4),row.names = c("2020-01-01","2020-01-02")))

暫無
暫無

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

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