Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Вы можете использовать aes_string
:
f <- function( column ) {
...
ggplot( rates.by.groups, aes_string(x="name", y="rate", colour= column,
group=column ) )
}
, пока вы передаете столбец функции как строку (f("majr")
, а не f(majr)
). Также обратите внимание, что мы изменили другие столбцы "name"
и "rate"
, чтобы быть строками.
Если по какой-либо причине вы предпочитаете не использовать aes_string
, вы можете изменить ее на (несколько более громоздкий):
ggplot( rates.by.groups, aes(x=name, y=rate, colour= get(column),
group=get(column) ) )
Попробуйте использовать aes_string
вместо aes
.
aes_string(x = rates.by.groups$name...
, и в любом случае вам не нужно, поскольку вы уже передали аргументggplot(data = rates.by.groups...
. (Вопрос в этот вопрос ) – smci 12 June 2018 в 03:09