Быстрый вопрос: если я хочу запустить функцию, например plt.diff(dataset1)
, а в графике вывода я хочу, чтобы функция использовала имя «dataset1» в качестве метки оси y, как это можно сделать?Есть ли способ использовать аргумент функции в качестве метки в ggplot2?
plt.diff <- function(x){
x$kind <- as.factor(x$kind)
ggplot(x,aes(x=as.factor(nodes), fill= age)) + labs(title = 'Difference plot',
x = 'points', y = deparse(substitute(x))) + geom_text(
aes(label = nodes, y = diff)) +
geom_bar(stat="identity", aes(y = diff)) +
geom_bar(stat="identity", aes(y = (diff*(-1)))) +
coord_flip()}
Как вы можете видеть, я уже пытался deparse(substitute(x))
и он не работает. Это выход для оси у в настоящее время: structure(list(nodes= structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L))))
Спасибо! Не уверен, должен ли я задать новый вопрос для этого, но я понял, что если я хочу запустить эту функцию в списке, используя 'lapply', имя каждого члена списка не будет использоваться как имя оси, а скорее' X [I] ', где i - индекс в списке. Я задам новый вопрос, если это оправдано –
@JerryW. Да, я бы порекомендовал новый вопрос, так как это немного другая проблема. Этот вопрос также, вероятно, привлечет больше интереса, если вы также предоставите набор данных через dput, а также ожидаемый результат. –