遍历子集对象并将输出存储在 R 中
Looping through subsetted objects and storing output in R
我有 10 个名为 output_ens1
到 output_ens10
的对象。我想从每个数据中获取一份数据,对其进行算术运算,然后将其添加到一个新对象中。我一直在尝试使用 for 循环和子集。这是一个带有我的循环的示例对象
## Values used elsewhere in model output processing
num_sp <- 46 # Enter the number of species modeled
num_steps <- 36 # Enter the number of months modeled
num_ens <- 10 # Enter the number of runs in the ensemble
## example object of same dimensions
output_ens1 <- matrix(data = c(1:11880), ncol = 330, nrow = 36)
hist <- c(1:num_ens)
for (i in hist)
{
hist[i] <- as.name(paste0("output_ens", i))[num_steps,8+num_sp*7]/1000
}
这个returns
Error in as.name(paste0("output_ens", i))[num_steps, 8 + num_sp * 7] :
object of type 'symbol' is not subsettable
我想要 num_steps(第 36)行和第 8+num_sp*7(第 330)列值除以 1000 并添加到对象 hist
。在这个例子中,值 11.88 (11880/1000) 将被设置为 hist[1]
。我已经尝试了几次迭代,并且相信我的问题是将对象的名称读取为子集。我该往哪个方向走?
改用这个:
get(paste0("output_ens", i))
我有 10 个名为 output_ens1
到 output_ens10
的对象。我想从每个数据中获取一份数据,对其进行算术运算,然后将其添加到一个新对象中。我一直在尝试使用 for 循环和子集。这是一个带有我的循环的示例对象
## Values used elsewhere in model output processing
num_sp <- 46 # Enter the number of species modeled
num_steps <- 36 # Enter the number of months modeled
num_ens <- 10 # Enter the number of runs in the ensemble
## example object of same dimensions
output_ens1 <- matrix(data = c(1:11880), ncol = 330, nrow = 36)
hist <- c(1:num_ens)
for (i in hist)
{
hist[i] <- as.name(paste0("output_ens", i))[num_steps,8+num_sp*7]/1000
}
这个returns
Error in as.name(paste0("output_ens", i))[num_steps, 8 + num_sp * 7] :
object of type 'symbol' is not subsettable
我想要 num_steps(第 36)行和第 8+num_sp*7(第 330)列值除以 1000 并添加到对象 hist
。在这个例子中,值 11.88 (11880/1000) 将被设置为 hist[1]
。我已经尝试了几次迭代,并且相信我的问题是将对象的名称读取为子集。我该往哪个方向走?
改用这个:
get(paste0("output_ens", i))