簡體   English   中英

從列表中提取 data.frame 的循環

[英]Loop for extracting data.frame from list

我正在嘗試使用命令循環修改幾個數據幀。

這是我嘗試過的:

F.list2 <- list(AUDTTO, BRLTTO, CADTTO, CHFTTO, EURTTO, GBPTTO, JPYTTO, MXNTTO, NZDTTO, RBLTTO, ZARTTO)
res3 <- lapply(
  F.list2, 
  function(x)
  {
    names(x)[names(x) == "Leveraged Funds Longs"] <- "Long"
    names(x)[names(x) == "Leveraged Funds Shorts"] <- "Short"
    select(x, "Date", "Long", "Short")
  }  
)

# ADD THIS PART TO THE LOOP?

AUDTTO <- res3[[1]]
BRLTTO <- res3[[2]]
CADTTO <- res3[[3]]
CHFTTO <- res3[[4]]
EURTTO <- res3[[5]]
GBPTTO <- res3[[6]]
JPYTTO <- res3[[7]]
MXNTTO <- res3[[8]]
NZDTTO <- res3[[9]]
RBLTTO <- res3[[10]]
ZARTTO <- res3[[11]]

如代碼中所述,我想將最后一部分添加到循環中。

使用命名列表。

在不更改大部分代碼的情況下,這是一種獲得預期 output 的方法。

F.list2 <- tibble::lst(AUDTTO, BRLTTO, CADTTO, CHFTTO, EURTTO, GBPTTO, 
                       JPYTTO, MXNTTO, NZDTTO, RBLTTO, ZARTTO)

res3 <- lapply(F.list2, function(x){
           names(x)[names(x) == "Leveraged Funds Longs"] <- "Long"
           names(x)[names(x) == "Leveraged Funds Shorts"] <- "Short"
           dplyr::select(x, "Date", "Long", "Short")
         })

res3現在又是一個命名列表。 您可以使用list2env獲取單個數據框。

list2env(res3, .GlobalEnv)

暫無
暫無

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

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