Day4 - R(4). 22.08.26.금

류소리·2022년 8월 25일
0

R

목록 보기
3/7

어제 복습

  1. outlier 데이터 프레임. xcore가 5ㅣ상인 경우 NA 할당하려면?(ifelse 사용하시오.)
  • 답: outlierscore<ifelse(outlierscore <- ifelse(outlierscore > 5, NA, outlier$score)
    [1] NA 4 3 4 2 NA

2.데이터 프레임의 구조를 확인하는 기능을 하며 str() 가독성이 더 좋은거는?

  • 답: glimpse()

3.결측치 확인을 위해 사용하는 함수는?

  • 답:is.na()

4.이상치 확인하기위해 사용하는 함수는?

  • 답:outlier()

5.margin too large...

  • 답: 결과를 보여주는 창 크기가 작아서?

6.다음 코드를 실행 시키면 평균값을 구할 수 있나요?

  • 답:mean(df$score,na.rm=F) :X

7.열 별 NA의 여부와 개수를 쉽게 찾기 위해 쓰이는 함수는?

  • 답:summary()

8.월별 오존농도와 기온을 나타내는 산점도를 구하시오.

  • 답:ggplot(data = airquality, aes(x = Month, y = Ozone, color = Temp)) + geom_point()
    답:

9.색을 바꿔라.

  • 답:
    str(airquality) -> $ Month : int -> chr로 데이터 타입을 바꿔줌. *as.factor:글자로 바꾸겠다.
    :ggplot(airquality, aes(x=Month, y=Ozone, color=as.factor(Month))) + geom_point()
    범주형:as.factor()

10.airquality에서 Solar.R결측치인 데이터를 출력.(단, 다른열은 결측치가 없도록)
Ozone / Solar.R / Wind / Temp
1 28 / NA / 14.9 / 66
2 7 / NA / 6.9 / 74
3 78 / NA / 6.9 / 86
4 35 / NA / 7.4 / 85
5 66 / NA / 4.6 / 87
Month / Day
1 5 / 6
2 5 / 11
3 8 / 4
4 8 / 5
5 8 / 6

  • 답: airquality %>% filter(is.na(Solar.R)) %>% filter(!is.na(Ozone))

질문:mpg에서 도시연비와 고속도로연비 의 평균연비를 만들고,

평균연비 11이하 37이상인 관측치 na로 값을 바꾼다.

mpg$평균연비, na가 모두 몇개냐?(f 226 t 7)

답:mpg <- mpg %>% mutate(평균연비 = (cty+hwy)/2)
mpg평균연비<ifelse(mpg평균연비 <- ifelse(mpg평균연비 <= 11 | mpg평균연비>=37,NA,mpg평균연비 >= 37, NA, mpg평균연비)
table(is.na(mpg$평균연비))

질문. 위의 문제 이어어 이상치를 제외한 평균연비의 평균은?
답:mean (mpg$평균연비,na.rm=T), 20.19604


파이썬은 그림의 활용이 R보다 적다.
자바스크립트가 가장 많이 활용한다. MATLB.
https://exts.ggplot2.tidyverse.org/gallery/


+labs(title=, x=, y= )/라벨

  • g <- ggplot(mpg,aes(x=displ,y=hwy)) + geom_point(size=4,aes(color=drv)+theme_economist()

제목 붙이기

  • g+theme_economist() + labs(title = "배기량 연비비교)

x축 이름 붙이기

  • g+theme_economist() + labs(title = "배기량 연비비교")+ xlab("배기량")

g+facet_grid(.~drv)**

  • . :전부 다 의미한다.

  • g+facet_grid(drv~.)

모양바뀜(colour,shape,size)

  • g <- ggplot(mpg,aes(x=displ,y=hwy)) + geom_point(size=4,aes(color=drv,shape=drv)),size()

color=drv(열값입력,칼럼의 이름.),shape=drv


+facet_grid(drv~cut) /패싯**

:R ggplot2 집단간 비교를 위한 면 분할(facet, Trellis) : facet_grid(), facet_wrap()
https://rfriend.tistory.com/85

  • g+facet_grid(drv~cyl)

mpg $ class
unique(mpg $ class)

  • p<- ggplot(mpg,aes(x=displ,y=hwy))+
    geom_point()
    p+facet_wrap(vars(class))
  • p+facet_wrap(~class)

p+facet_wrap(vars(class)) 와 p+facet_wrap(~class) 같다.

  • p+facet_wrap(~class,nrow=4):칼럼의 줄을 정해진다.


#열: 칼럼,column,세로,변수,속성/특성,애트리뷰트,attribute,feature,피쳐
#행: 로우,row,가로,observation,관측치,obs,


geom_jitter(): 값을 겹치거나 같을때 시각화로 일부로 노이즈하게 보여주는거**

  • ggplot(mpg,aes(x=displ,y=hwy, color=drv)) + geom_point(size=2)+geom_jitter()

  • ggplot(mpg,aes(x=displ,y=hwy)) + geom_point(size=4, aes(color=drv))+geom_jitter()


geom_line(): 선으로 연결**

  • ggplot(mpg,aes(x=displ,y=hwy)) + geom_point(size=1)+geom_line()


geom_bar(): 막대그래프**

  • ggplot(data=mpg,aes(x=displ)) + geom_bar()

  • ggplot(data=mpg,aes(x=drv)) + geom_bar()

값 바꾸는 법.(위에꺼 동일) mpg$drv <- as.factor(mpg$drv)

geom_bar()의 옵션 추가 하기

  • ggplot(data=mpg,aes(x=class)) + geom_bar(color="red")

  • ggplot(data=mpg,aes(x=class)) + geom_bar(color="red",fill="white")


position='dodge':색칠해주기**

  • ggplot(mpg,aes(x=drv,fill=class)) + geom_bar(position='dodge')

  • ggplot(mpg,aes(x=class,fill=drv)) + geom_bar(position='dodge')

ggplot(data= mpg, aes(x=drv,fill=as.factor(class)))+geom_bar(position='fill')

ggplot(data= mpg, aes(x=displ))+geom_bar()

ggplot(data= mpg, aes(x=displ))+geom_histogram()

histogram:숫자가 있음.

*binwidth:(bin)쓰레기통,
ggplot(data=mpg,aes(x=displ)) + geom_histogram(binwidth = 0.1)

ggplot(data=mpg,aes(x=displ)) + geom_histogram(bins = 20)


ggplot(drug,effect
"drugs" <- data.frame(drug=c("a","b","c"),effect=c(4,9,6))

drugs

ggplot(data= drugs, aes(x=drug, y=effect))+geom_col()

#geom_bar():일차원일때
#geom_col():이차원일때


Q.1)제조사별로 drv(구동방식)의 따른 도시주행연비cty의 평균을 막대그래프로 나타내봅시다.

:ggplot(mpg, aes(x = drv, y = mean(cty))) + geom_col()
그래프 / 데이터 값/ x축(구동방식), y축(도로주행연비의 평균) / 막대그래프

Q.2)막대그래프에 색을 입히세요.

mpg %>% group_by(manufacturer, drv) %>%
summarise(mean(cty))
데이터값을 파이프 /(~별로,그룹바이)/값 구할거 cty

p <- mpg %>% group_by(manufacturer, drv) %>%
summarise(mean(cty))
p

ggplot(p, aes(x= drv, y= mean(cty), fill= manufacturer)) +
geom_col(position= 'dodge')
그래프 / 데이터값 / x축 /y축 / 채우는건 제조사별로 /막대그래프 안에 색칠함.


출처:
https://rfriend.tistory.com/85 [R, Python 분석과 프로그래밍의 친구 (by R Friend):티스토리]

profile
새싹 빅테이터 개발자

0개의 댓글