Czasami wywołanie funkcji z określonymi argumentami powoduje wyświetlenie komunikatu o błędzie formal argument "foo" matched by multiple actual arguments
. Czy jest możliwe wydrukowanie listy niejednoznacznych faktycznych argumentów?"Formalna argumentacja" foo "dopasowana przez wiele argumentów" - jak sobie z tym poradzić w R?
Powód pytam jest to obecnie problem z funkcją plot
dla obiektów klasy mixEM
(generowanego przez normalmixEM
z pakietu mixtools
). Nie akceptuje argumentu, który podał powyższy błąd, ale gdy próbuję użyć ylim2
(tak jak działa dla xlab2
, main2
, col2
itp.), Jest to "ylim2" is not a graphical parameter
. Więc zastanawiam się, jakie są rzeczywiste argumenty, które są dopasowane przez ylim
?
Stosując formals(plot.mixEM)
nie pomaga, ponieważ nie zawiera żadnych zaczynając ylim
, a następnie na koniec dotyczy on ...
które są graficznymi parametry przekazywane do plot
. Jednak dla funkcji plot
, byłoby jednoznaczne. Pomocne byłoby uzyskanie dokładniejszego opisu błędu z R
z listą argumentów powodujących konflikt.
UPD: MWE:
library(mixtools)
wait = faithful$waiting
mixmdl = normalmixEM(wait)
plot(mixmdl, which = 2, xlim = c(25, 110), nclass=20)
lines(density(wait), lty = 2, lwd = 2)
To daje błąd:
plot(mixmdl, which = 2, xlim = c(25, 110), ylim = c(0, .5), nclass=20)
# Error in hist.default(x, prob = TRUE, main = main2, xlab = xlab2, ylim = c(0, :
# formal argument "ylim" matched by multiple actual arguments`
to po prostu nie działa:
plot(mixmdl, which = 2, xlim = c(25, 110), ylim2 = c(0, .5), nclass=20)
# Warning messages:
# 1: In title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...) :
# "ylim2" is not a graphical parameter
# 2: In axis(1, ...) : "ylim2" is not a graphical parameter
# 3: In axis(2, ...) : "ylim2" is not a graphical parameter
Łatwiej jest dodać kod, który produkują błąd niż sposób narracji ... – agstudy
@agstudy Dodałem MWE. Byłbym jednak wdzięczny za ogólną radę, jak radzić sobie z tego rodzaju błędami, ponieważ nie jest to pierwszy i prawdopodobnie nie ostatni raz, kiedy napotykam na tego typu problemy. – AnjaM
FYI - ten błąd może również wystąpić, jeśli przypadkowo dodasz argument do wywołania funkcji dwa razy. –