ggplot2 — 동일한 산점도에서 서로 다른 변형 된 y를 자동으로 플롯 할 수있는 방법이 있습니까?

ppp

Q : ggplot ()을 사용하는 일반적인 x, y 산점도에서 ggplot2는 변환 된 y도 자동으로 플로팅 할 수 있습니까?

예 : 단순 x, y 분산 형

•이 예에서는 stat_smooth(..)ggplot2의 기능을 사용하여 여러 lm-fits를 갖습니다.

ggplot(df, aes(x=myX, y=myY)) +
geom_point(color=‘darkgray’) + 
   stat_smooth(method=‘lm’, se=F, aes(color=‘black’), formula=“y ~ x”) +
   stat_smooth(method=‘lm’, se=F, aes(color=‘blue’), formula=“log(y) ~ x”) +
   stat_smooth(method=‘lm’, se=F, aes(color=‘green’), formula=“sqrt(y) ~ x”) +

   # log-scale it so transforms show up:
   scale_y_continuous(trans=‘log10’)

• 그러나 나는뿐만 아니라 변환 된 Y의에 대한 없앤다을 플롯 할 : sqrt(y)log(y)

  1. ggplot2에는 이러한 자동 기능이있어 동일한 플롯에 표시 할 수 있습니까?

  2. 그렇지 않은 경우 가장 간단한 권장 방법은 무엇입니까? 수동으로 계산 한 다음 unstack(base-R) 또는 melt(reshaper2) 긴 형식 으로 계산해야 합니까?

오리

다음 접근 방식을 제안합니다. 새 변수에서 변환을 생성 할 수 있습니다. 그런 다음 데이터를 long으로 재구성 한 다음 모든 변수 또는 패싯에 대해 하나의 시각화를 사용하여 플로팅합니다. 다음은 패싯 접근 방식입니다.

library(tidyverse)
#Code1
iris %>% mutate(x=Petal.Length,y=Sepal.Length,logy=log(Sepal.Length),sqrty=sqrt(Sepal.Length)) %>%
  select(c(x,y,logy,sqrty)) %>%
  pivot_longer(-x) %>%
  ggplot(aes(x=x,y=value,color=name,group=name))+
  geom_point()+
  geom_smooth(method = lm,se=F)+
  facet_wrap(.~name,scales = 'free_y')

산출:

여기에 이미지 설명 입력

또는 개별 플롯 접근 방식 :

#Code2
iris %>% mutate(x=Petal.Length,y=Sepal.Length,logy=log(Sepal.Length),sqrty=sqrt(Sepal.Length)) %>%
  select(c(x,y,logy,sqrty)) %>%
  pivot_longer(-x) %>%
  ggplot(aes(x=x,y=value,color=name,group=name))+
  geom_point()+
  geom_smooth(method = lm,se=F)

산출:

여기에 이미지 설명 입력

나는 iris데이터 세트와 tidyverse함수를 사용했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관