r - 从列表中提取 data.frame 的循环
问题描述
我正在尝试使用命令循环修改几个数据帧。
这是我尝试过的:
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]]
如代码中所述,我想将最后一部分添加到循环中。
解决方案
使用命名列表。
在不更改大部分代码的情况下,这是一种获得预期输出的方法。
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)
推荐阅读
- vue-router - 在 nuxt.js 中为项目的每个路由路径添加斜杠
- php - 如何在相关 ORM Laravel 的 json 对象中选择数据写入位置
- python - 应用的绑定数不正确:需要 4,在 SQLite3 中应用 0?
- hyperledger-composer - 无法启动 composer-cli
- java - 读取文件的数据 android studio
- python - pyqt | 对象生成的gui不会显示
- laravel - 使用 Laravel 在 Vue 上读取关系表数据
- json - 从动态 SQL 生成 Postgresql json
- laravel - Laravel Eloquent 查询以检查学生有多少兄弟姐妹
- localization - 从一个Material App切换到另一个Material App时会出现短时间黑屏