1
我有一個數據幀,如下面的數據幀,只有更多的列和一個額外的ID變量。在兩列上匹配DF並乘以
data <- data.frame(year = c(rep(2014,12), rep(2015,12)), month = c(seq(1,12), seq(1,12)), value = c(rep(5,24)))
某些年/月組合的數據不正確,必須通過乘以以下所示期間的因子進行調整。
fix <- data.frame(year = c(2014, 2014, 2015), month = c(1, 5, 6), f = c(.9, 1.1, 12))
我目前通過ddply這樣做,但我正在尋找一個更優雅的解決方案:
factorize <- function(x) {
x$value = x$value * fix[fix$year == unique(x$year) & fix$month == unique(x$month),3]
x
}
data2 <- ddply(data, c("year", "month"), factorize)
任何想法或建議?
謝謝!