您好,我有一堆关于水流(Q)的水文数据,我想对其进行标准化。数据存储在一个大型嵌套表中,其布局如下我需要保留的:
Flowtestlist <- list(list("910" = data.frame( Q=c(650, 720, 550, 580, 800)),
"950" = data.frame( Q=c(550, 770, 520, 540, 790))),
list ("910" = data.frame( Q=c(450, 620, 750, 580, 800)),
"950" = data.frame( Q=c(650, 750, 580, 520, 890))))
Run Code Online (Sandbox Code Playgroud)
我有级别 [[1]] 和 [[2]],实际上,我有 9 个级别,这些也是型号。在每个模型中,我有 18 个子流域,编号为 910、950、1012、1087 等(为简单起见,在上面的示例中只有两个子流域 910、950)。子流域包含有关径流 (Q) 的数据。
还有一个查找表:
test_model <- c(1,1,2,2)
test_subbasin <- c(910,950,910,950)
Q_mean <- c(870,765,823,689)
FlowtestDF <- data.frame(test_model, test_subbasin, Q_mean)
Run Code Online (Sandbox Code Playgroud)
该数据框包括每个模型和子流域参考期的流量平均值 (Q_mean)。我想从嵌套表中取出每个Q,并在查找表中找到匹配的型号和子流域,然后将其除以得到标准化的水流Q_st。
fun_st <- function(x, y=FlowtestDF) {
x$Q_st <- x$Q/y$Q_mean
x <- x
} …Run Code Online (Sandbox Code Playgroud)