ggplot2, aes 대 aes_string
Sep 13 2020
그래서 실패 aes로 aes_string인해로 교체해야합니다 rcmdcheck().
실물:
aes(
x = A,
y = pmax(B, C, na.rm = TRUE),
),
내 혼란은 B및 에 관한 것 C입니다. pmax함수 안에 있기 때문에 따옴표를 붙일 수 있습니까? 이렇게 :
aes_string(
x = "A",
y = pmax("B", "C", na.rm = TRUE),
),
아래는 또 다른 해결책입니까? :
aes(
x = .data$A, y = pmax(.data$B, .data$C, na.rm = TRUE),
),
편집 :
는 R CMD 확인 오류가 변수 바인딩 전역 없다는 것입니다 A, B하고 C.
답변
Oliver Sep 14 2020 at 06:02
의 차이 aes와 aes_string그 매우 간단 aes_string인수를 설명하는 문자열을 해석합니다. 예 : 다음 작품
library(ggplot2)
data(mtcars)
ggplot(aes_string(x = "log(hp)", y = "1/log(mpg)", col = "factor(cyl)"), data = mtcars) +
geom_point() +
labs(col = 'cyl')
이것은 help(aes_string)페이지 에도 설명되어 있습니다 .
aes_ 및 aes_string을 사용하려면 aes_string ()의 경우 ""를 사용하거나 aes_ ()의 경우 따옴표 또는 ~를 사용하여 입력을 명시 적으로 인용해야합니다.
그러나 MrFlick이 의견에서 언급했듯이 이러한 기능은 모두 사용되지 않으며 호환성을 위해 유지되지만 사용이 권장되지 않는다는 것을 의미합니다.