R 在循环中填充空向量

R 在循环中填充空向量,r,R,我创建了四个空向量(series\p\u river),我希望将它们填充到循环中,而不是逐个填充。矢量中应填写的数据包含四个不同河流流域(Main、Danube、Isar和Inn)的平均值,每条河流和每个时间步的一个值。例如Main.4平均值,多瑙河.18平均值,Isar.2平均值,Inn.8平均值。时间步数ntime是空向量的长度 一个接一个的方式当然很好,但不是很优雅: for (j in 1:ntime) { series_p_Main[j] <- get(paste0(&quo

我创建了四个空向量(
series\p\u river
),我希望将它们填充到循环中,而不是逐个填充。矢量中应填写的数据包含四个不同河流流域(Main、Danube、Isar和Inn)的平均值,每条河流和每个时间步的一个值。例如
Main.4平均值,多瑙河.18平均值,Isar.2平均值,Inn.8平均值
。时间步数
ntime
是空向量的长度

一个接一个的方式当然很好,但不是很优雅:

for (j in 1:ntime) {
  series_p_Main[j] <- get(paste0("Main.", j, "_mean"))
  series_p_Danube[j] <- get(paste0("Danube.", j, "_mean"))
  series_p_Isar[j] <- get(paste0("Isar.", j, "_mean"))
  series_p_Inn[j] <- get(paste0("Inn.", j, "_mean"))
}
for(1:ntime中的j){

series_p__Main[j]似乎您将对每条河流执行类似的操作,因此我通常推荐一个向量列表,而不是环境中的单个对象。这表明您可能需要引用
series_p_Main
,而不是
series_p[[“Main”]]
。但是,使用列表的另一个好处是,当您对每个向量执行相同的操作时,可以使用
lappy
而不是手动执行每个向量

比如说,


ntime感谢您的快速回复和列表提示。当我应用该解决方案时,它会创建一个包含四个元素的列表,每个元素包含每条河流的一系列。到目前为止还不错。但是单个系列不包含
ntime
平均值,而是字符值,例如
“Main4\u mean”
而不是
1.26
。你知道怎么做吗?我不知道。请用样本数据(从
dput(head(x))
输出的相关对象)和给定样本数据的预期输出填写你的问题。