r - 从保持列表格式的文件列表中分配变量名称
问题描述
我正在从一个循环遍历它们的文件夹中打开一个 netcdf 文件列表,以便:
nfiles <- 10
datL <- list.files(/home/myname/filedir/,pattern='*nc')
for (i in 1:nfiles){
dat = nc_open(datL[[i]])
要提取变量并将它们的名称保留在 netcdf 文件中,我会这样做:
allvars <- as.list(names(dat[['var']]))
for (k in 1:length(unlist(allvars)) ) {
assign(allvars[[k]],ncvar_get(dat(allvars[[k]])) } }
所有文件每个都有大约 50 个变量,但大多数文件具有相同的变量名。我想做但无法解决的问题是如何在变量命名中保留列表编号。因此,作为一个例子,假设在 netcdf 文件中,有一个名为 的变量rain
,assign(allvars[[k]])
将简单地分配名称rain
。相反,我想要的是变量名称也被分配列表编号,这样它就是rain[[i]]
. assign(paste0(allvars[[k]],as.list(i)),ncvar_get...etc)
将变量写为rain1
,rain2
但我更喜欢这种[[
格式。
解决方案
推荐阅读
- postgresql - 如何通过 SSH 隧道使用 pgAdmin 和 Unix 域套接字连接到远程 PostgreSQL 服务器
- arm - STM32F4 RTC 闹钟中断在没有初始化的情况下被调用
- laravel - Laravel sanctum 更改 csrf cookie 路由
- javascript - JavaScript jQuery - 复选框样式设置为电源按钮并在重新加载网页时更新其状态的问题
- flutter - 如何在颤振中调用可增长的列表
- c - 由于 SO_REUSEPORT 在 Linux 下可用,是否已弃用 SO_REUSEADDR?
- c++ - 使用 boost 库 (cpp_int) 时出现常量太大的错误
- amazon-web-services - AWS AppSync - 放大代码生成类型而不创建任何内容
- azure - 在哪里可以找到 azure 身份范围及其权限级别的列表?
- r - R 编程:“[[k]][1:nrow(my_data)]”在我的建模函数中做了什么?寻找对 R 代码的更多理解