21.3.29 / R / 강의 수강 및 실습

pjk·2021년 3월 29일
0

[매일코딩 스터디]

목록 보기
48/62

Today

강의

R 프로그램, 통계 22강 까지

스터디 내용

20. tapply, 통계값 구하기

mtcars

str(mtcars)

newdata <- mtcars[1:2]
newdata

newdata$cyl==4
mpg_4 <- newdata[which(newdata$cyl==4),]
mpg_6 <- newdata[which(newdata$cyl==6),]
mpg_8 <- newdata[which(newdata$cyl==8),]

bind <- cbind(mean(mpg_4$mpg),mean(mpg_6$mpg),mean(mpg_8$mpg)) # colunm bind
class(bind)

tapply(x, index, ) # tapply(가지고 사용할 것, 어떤 것을 기준으로?, 집계함수)

tapply(newdata$mpg, newdata$cyl, mean)

tapply(mtcars$mpg, mtcars$gear, mean)

21. ggvis, 그래프 그리기(ggplot과 같이 많이 쓰임)

install.packages("ggvis")
library(ggvis)

mtcars

attach(mtcars) # 컬럼명을 굳이 데이터베이스 지정 없이 사용가능

plot(mpg, wt)

mtcars %>% ggvis( ~mpg, ~wt, fill := "red" ) %>% 
  layer_points() %>% layer_smooths() # ~ 표시를 해줘야 변수로 인식

mtcars %>% ggvis( ~mpg, ~wt, fill = ~cyl ) %>% 
  layer_points() %>% layer_smooths() # cyl에 따라 딱딱 떨어지지 않음. factor화 해야함.


str(mtcars)

mtcars$cyl <- factor(mtcars$cyl)
str(mtcars)

mtcars %>% ggvis( ~mpg, ~wt, fill = ~cyl ) %>% 
  layer_points() %>% layer_smooths() %>% 
  add_axis("x", title = 'MPG', values=c(10:35)) %>%
  add_axis("y", title = "WT", subdivide = 4)

22.초기하분포, 이항분포

dbinom(3, 10, 0.5) # N ~ B(10,0.5), pr(N = 3)
dhyper(3, 8, 12, 10) # 검은공 8개 흰공 12개 중 10번 뽑았을 때 3개 검은공일 확률로 이해  
dhyper(3, 24, 36, 10)

a = 100
approx <- numeric(length = a)

for(i in 1:a) {
  approx[i] = dhyper(3, 4*i, 6*i, 10)
}

approx

plot(approx[2:100])
abline(h = dbinom(3, 10, 0.4), col = "red") # abline : plot 에 넣어줌

approx - dbinom(3, 10, 0.4) # 초기하 데이터 수 커질 수록 이항분포로 다가감.

Result

Tomorrow

  • 매일 1시간 정도 R 강의 수강 및 실습 진행

Summary

  • 회귀분석이랑 머신러닝도 얼른 적용해 보고 싶다.
profile
성장

0개의 댓글