ggplot2, aes - aes_string

Sep 13 2020

Ben değiştirmeniz gerekiyor Yani aesile aes_stringbaşarısız nedeniyle rcmdcheck().

Orijinal:

        aes(
          x = A,
          y = pmax(B, C, na.rm = TRUE),
          ),

Benim kafa karışıklığım Bve ile ilgili C. pmaxİşlevin içinde oldukları için bunların etrafına alıntı koyabilir miyim ? Şöyle:

        aes_string(
          x = "A",
          y = pmax("B", "C", na.rm = TRUE),
          ),

Aşağıdakiler başka bir çözüm mü?

        aes(
          x = .data$A, y = pmax(.data$B, .data$C, na.rm = TRUE),
          ),

DÜZENLENDİ:

R CMD Kontrol hata değişkenleri için bağlayıcı hiçbir küresel olmasıdır A, Bve C.

Yanıtlar

Oliver Sep 14 2020 at 06:02

Arasındaki fark aesve aes_stringbu, çok basitçe aes_stringargümanlar olduğunu anlatan dize yorumlayacaktır. Örneğin. aşağıdaki işler

library(ggplot2)
data(mtcars)
ggplot(aes_string(x = "log(hp)", y = "1/log(mpg)", col = "factor(cyl)"), data = mtcars) + 
  geom_point() + 
  labs(col = 'cyl')

Bu ayrıca help(aes_string)sayfada belgelenmiştir

aes_ ve aes_string, girdileri aes_string () için "" ile veya aes_ () için tırnak veya ~ ile açıkça alıntı yapmanızı gerektirir.

Ancak, MrFlick'in yorumlarda belirttiği gibi, bu işlevlerin tümü yumuşak bir şekilde kullanımdan kaldırılmıştır, bu da uyumluluk için tutuldukları ancak kullanımın tavsiye edilmediği anlamına geldiğine inanıyorum.