Рассмотрим следующие данные:
library(Benchmarking)
x <- c(2, 3, 8)
y <- c(1, 5, 10)
k <- 25
d <- data.frame(x,y,k)
x <- c(5, 2, 3, 4)
y <- c(3, 5, 9, 10)
k <- 30
d2 <- data.frame(x,y,k)
d3 <- replicate(3, rbind(d, d2[sample(seq_len(nrow(d2)), 3), , drop=FALSE]), simplify = FALSE)
Итак, теперь у меня есть список 3 data.frame
.Для каждого из этих 3 data.frame
я хочу выполнить следующие вычисления:
e1 <- with(subset(d3[[1]], k == 25), dea(d3[[1]]$x, d3[[1]]$y, XREF = x, YREF = y))
e2 <- with(subset(d3[[1]], k == 30), dea(d3[[1]]$x, d3[[1]]$y, XREF = x, YREF = y))
we1 <- weighted.mean(eff(e1), d3[[1]]$y)
we2 <- weighted.mean(eff(e2), d3[[1]]$y)
va <- we2/we1
Но вместо трехкратного использования этого кода, где я изменяю [[1]]
на [[2]]
и [[3]]
, могуВместо этого я использую цикл, где он выполняет вычисления для всех 3 data.frame
и создаю новый data.frame
, где он перечисляет va
для трех вычислений?