У меня есть следующий фрагмент кода:
require(lattice)
f.barchart <- function(...) {
barchart(...,
panel = function(x, y, ...) {
panel.barchart(x, y, ...)
}
)
}
x <- data.frame(a = c(1,1,2,2), b = c(1,2,3,4), c = c(1,2,2,1))
f.barchart(a ~ b, data = x, groups = c)
В результате выдается следующая ошибка:
..3 used in an incorrect context, no ... to look in
Когда я использую следующее определение:
f.barchart <- function(...) {
substitute(barchart(...,
panel = function(x, y, ...) {
panel.barchart(x, y, ...)
}
))
}
Я получаю:
barchart(a ~ b, data = x, groups = c,
panel = function(x, y, ...) {
panel.barchart(x, y, a ~ b, data = x, groups = c)
})
Я не уверен, является ли это причиной вышеуказанной ошибки, но это будет означать,
что многоточие в panel.barchart ошибочно расширяется с помощью
содержимое аргументов, переданных f.barchart, а не панели
функция.
Есть ли способ избежать этой проблемы? Как я могу сделать функцию
Работа?