мой код работает хорошо и строит графики, когда я бегал в консоль.однако, когда я помещаю это в функцию, я получаю сообщение об ошибке, указывающее, что один из столбцов не может быть найден.
"Error in tapply(X = X, INDEX = x, FUN = FUN, ...) :
object 'm.raw' not found"
во-первых, фрейм данных, который я использую для своего графика, точно такой же, как показано ниже
DF =
lbls raw.1 raw.2 raw.3 m.raw imp.1 imp.2 imp.3 m.imp
A1 0.020 0.031 0.032 0.028 11.266 17.408 17.622 15.432
A2 0.023 0.024 0.036 0.028 12.732 13.452 20.034 15.406
A3 0.002 0.022 0.016 0.013 1.344 12.111 9.011 7.489
A4 0.015 0.031 0.021 0.023 8.641 17.575 11.790 12.669
A5 0.016 0.046 0.066 0.043 8.764 25.728 36.991 23.828
A7 0.009 0.029 0.029 0.022 4.924 16.348 16.364 12.545
A7 0.014 0.025 0.029 0.023 7.806 13.747 16.341 12.631
в секунду, когда я запустил приведенный ниже код в консоли (заменив x и y) с фактическими именами переменных (x = lbls; y = m.raw), я получаю графики без каких-либо сообщений об ошибках.
однако, когда я помещаю код в функцию (заменяя реальные имена переменных на x и y)я получаю сообщение об ошибке, указанное выше
# function to plot
dot.pa <- function(mydata, x, y) {
pa <- ggplot(data = mydata, (aes(x = reorder(x, y), y))) +
geom_point() +
labs(x = "predicts", y = "weights") +
coord_flip()
geom.text.size = 10
theme.size = (10*1.25) # geom.text.size
pa2 <- pa + theme_minimal() +
geom_segment(aes(yend=0.00, xend = x)) +
geom_text(aes(y, label = round(y, 3),
family = "mono", size = geom.text.size,
vjust = -0.5, hjust = 0.9))
pa3 <- pa2 +
theme(text = element_text(family = "mono", size = theme.size),
axis.text.x = element_text(size = theme.size, family = "mono"),
axis.text.y = element_text(size = theme.size, family = "mono")) +
theme(legend.position = "none")
return(pa3)
}
#plot function
dot.pa(DF, x=lbls, y=m.raw)