Используйте функцию callback()
внутри успеха foo()
. Попробуйте таким образом. Это просто и легко понять. & nbsp;
var lat = "";
var lon = "";
function callback(data) {
lat = data.lat;
lon = data.lon;
}
function getLoc() {
var url = "http://ip-api.com/json"
$.getJSON(url, function(data) {
callback(data);
});
}
getLoc();
Я могу думать о двух лучших способах, чем использовать paste
:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1*d]))
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah["1d"]))
Токены (или «имена» или «символы») в R не должны начинаться с цифр. Таким образом, вы обходите это ограничение либо путем цитирования, либо путем разделения 1
и d
не-пространственным разделителем, *
. Это означает, что «присоединяется» или «лигирует» чистый числовой литерал с юридическим символом или маркером.
Чтобы получить знак процента, неподписались просто:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1*d]*"%"))
Чтобы помещать парсеры вокруг pct-sign:
expression(Blah[1*d]*"(%)")
Символ %
имеет особое значение в разборе R, поскольку он означает начало пользовательского инфиксного оператора. Поэтому использование его в качестве литерала требует, чтобы оно было указано.
Хорошо. Я потел, я не публиковал это только для того, чтобы ответить на него сам, несмотря на то, как быстро я его получил (всегда так, когда вы задаете вопрос! Вот он:
ggplot(dat, aes(x=x,y=y)) +
geom_point() +
labs(y=expression(Blah[1][d]))
Думал, что лучше всего опубликовать ответьте, а не удалите вопрос, поскольку он может помочь кому-то еще в один прекрасный день.
«Блахи» в стороне, я действительно хотел expression(paste("Hb", A[1][c]," (%)",sep=""))
Почему paste0()
не работает здесь находится вне меня.