Рассмотрим следующие данные:
datamichael <- data.frame(x=c(100,200,300,500), y=c(75,100,300,400), row.names = LETTERS[1:4])
dataewan <- data.frame(x=c(200,50,200,600), y=c(100,100,400,300), row.names = LETTERS[1:4])
datatom <- data.frame(x=c(100,150,400,200), y=c(100,100,400,300), row.names = LETTERS[1:4])
datamichaeldataewan <- rbind(datamichael,dataewan)
datamichaeldatatom <- rbind(datamichael,datatom)
dataewandatamichael <- rbind(dataewan, datamichael)
dataewandatatom <- rbind(dataewan, datatom)
datatomdatamichael <- rbind(datatom, datamichael)
datatomdataewan <- rbind(datatom, dataewan)
library(Benchmarking)
effmichaelewan <- dea(datamichaeldataewan$x,datamichaeldataewan$y, XREF=datamichael$x, YREF=datamichael$y)
effmichaeltom <- dea(datamichaeldatatom$x,datamichaeldatatom$y, XREF=datamichael$x, YREF=datamichael$y)
effewanmichael <- dea(dataewandatamichael$x,dataewandatamichael$y, XREF=dataewan$x, YREF=dataewan$y)
effewantom <- dea(dataewandatatom$x,dataewandatatom$y, XREF=dataewan$x, YREF=dataewan$y)
efftommichael <- dea(datatomdatamichael$x,datatomdatamichael$y, XREF=datatom$x, YREF=datatom$y)
efftomewan <- dea(datatomdataewan$x,datatomdataewan$y, XREF=datatom$x, YREF=datatom$y)
Я знаю, что мое название немного сбивает с толку. Теперь я хочу рассчитать средневзвешенное значение для Майкла. То есть:
result1 <- (weighted.mean(eff(effmichaelewan), datamichaeldataewan$y)/
weighted.mean(eff(effewanmichael), dataewandatamichael$y))
result2 <- (weighted.mean(eff(effmichaeltom), datamichaeldatatom$y)/
weighted.mean(eff(efftommichael), datatomdatamichael$y))
Возможно ли это вычисление с помощью цикла? Потому что у меня есть более 2 объединенных данных, с которыми следует разделить данные для Тома.