В чем разница между aes и aes_string (ggplot2) в R

С отсутствующим опытом в информатике у меня есть трудности, чтобы понять различия междуaes а такжеaes_string в ggplot2 и его последствия для ежедневного использования.

Из описания (?aes_string) Я смог понять, что обаdescribe how variables in the data are mapped to visual properties (aesthetics) of geom.

Кроме того, сказано, чтоaes uses non-standard evaluation to capture the variable names. в то время какaes_string использованияregular evaluation.

Из примера кода видно, что оба выдают одинаковый вывод (a list of unevaluated expressions):

> aes_string(x = "mpg", y = "wt")
List of 2
 $ x: symbol mpg
 $ y: symbol wt
> aes(x = mpg, y = wt)
List of 2
 $ x: symbol mpg
 $ y: symbol wt

Non-standard evaluation описываетсяХэдли Уикхем в своей книгеAdvanced R как метод для вызова не только значений аргумента функции, но и кода, который их создал.

Я бы предположил, чтоregular evaluation в оппозиции только вызывает значения из функции, но я не нашел источника, подтверждающего это предположение. Кроме того, мне неясно, как эти два отличаются и почему это должно относиться ко мне, когда я использую пакет.

Насайт Inside-R упоминается, чтоaes_string is particularly useful when writing functions that create plots because you can use strings to define the aesthetic mappings, rather than having to mess around with expressions.

Но в этом смысле мне неясно, почему я должен когда-либо использоватьaes и не всегда выбираюaes_string всякий раз, когда используяggplot2... В этом смысле это помогло бы мне найти некоторые разъяснения по этим понятиям и практический совет для повседневного использования.

Ответы на вопрос(1)

Ваш ответ на вопрос