read.csv 함수를 통해 csv파일을 읽은 뒤 mutate로 컬럼 추가 하니 오류가 발생했다

 

hotel_table <- read.csv('data/hotel.csv',fileEncoding='UTF-8',header = TRUE)

hotel_table %>%
  mutate(join_area_id=
           if_else(hotel_cnt >= 20, small_area_name, big_area_name))

invalid factor level, NA generated

해결방법

hotel_table <- read.csv('data/hotel.csv',fileEncoding='UTF-8',header = TRUE, stringsAsFactors = FALSE)

ps. stringsAsFactors 파라미터의 기본값은 TRUE이고 csv를 읽을 때 문자열 데이터는 데이터 타입이 지정되지 않기 때문에 오류가 발생함

'IT > R' 카테고리의 다른 글

이항분포의 정규근사  (0) 2018.04.17
정규분포에서 확률구하기  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
도수분포표, 상대도수 구하기  (0) 2018.03.27
R 스튜디오 설치하기  (0) 2017.12.04
Posted by 소율소희아빠

2018. 4. 17. 08:51 IT/R

이항분포의 정규근사

1. 이항분포의 정규근사


   이항분포는 성공확률이 p인 베르누이 시행을 n번 반복한 경우 성공횟수가 가지는 확률분포

   이항분포의 특징은 n이 증가함에 따라 분포의 형태가 점차 대칭에 가까워지고 종모양을 이루게 됨 


이와같은 경향은 n이 커짐에 따라 더욱 확실하게 드러남, 실제로 이항분포는 n이 증가함에 따라 근사적으로 정규분포를 따르게 됨. 이때 정규분포의 평균과 분산은 이항분포에서와 일치하여야 하므로 다음과 같음



이항분포의 정규근사

확률변수 X가 성공 횟수를 나타내는 이산형 확률변수이고 X~ Bin(n,p) 일 때, np나 n(1-p)가 모두 충분히 클 경우( 보통 10 이상)에 확률변수 X는 근사적으로 다음의 정규분포를 따르게 된다

 




1) 이항분포의 정규근사확률을 활용한 R프로그램


확률변수 X가 n=150, p=0.6의 이항분포를 따른다고 하자. 이러한 확률변수 X가 82이상 102 미만일 확률은?


pbinom 함수를 이용하여 이항분포에서 직접적으로 계산한 확률(0.8945357)과 pnorm함수를 이용한 정규근사 확률(0.8940697)이 거의 비슷한 값을 가짐을 확인 할 수 있다.


> n=150

> p=0.6

> pbinom(101,n,p) - pbinom(81,n,p)

[1] 0.8945357

> mu = n*p

> sigma=sqrt(n*p*(1-p))

> pnorm(101.5,mu,sigma) - pnorm(81.5,mu,sigma)

[1] 0.8940697

'IT > R' 카테고리의 다른 글

R invalid factor level, NA generated 오류해결  (0) 2020.01.18
정규분포에서 확률구하기  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
도수분포표, 상대도수 구하기  (0) 2018.03.27
R 스튜디오 설치하기  (0) 2017.12.04
Posted by 소율소희아빠

1. 정규분포에서 확률구하기


   통계학의 모든 분야에서 가장 중요하게 생각되는 대표적인 연속확률 분포는 정규분포이다.

   정규곡선이라 불리는 정규분포의 확률밀도함수는 좌우 대칭의 종모양 곡선이다

   정규확률변수의 확률분포에 대한 수학적 방정식은 아래와 같다

   

   

    

   정규분포에서 μ와 σ^2이 가지는 의미를 살펴보면 μ는 확률분포의 중심위치를 나타내고

   σ^2은 정규곡선이 퍼져있는 정도를 나타낸다

   

   



   μ와 σ^2에 따라 다양한 모양으로 나타나는 정규분포 중에서 평균이 0이고

   분산이 1인 정규분포를 표준정규분표라 한다. 

   일반적으로 표준정규분포를 따르는 확률변수는 Z로 표현하는데, 

   Z ~ N(0,1)이므로 확률변수 Z는 E(Z) = μ = 0을 중심으로 좌우대칭인 정규분포를 따르며, 분산 Var = (Z) = σ^2 = 1 과 같다


   정규분포의 특징 중 하나는 정규분포를 따르는 확률변수에 상수를 이용한 사칙연산을 하더라도 여전히 정규분포를 따른다는 것이다. 확률변수 X를 평균이 0이고 분산이 1인 확률변수 Z로변환하는 과정을 표준화변환이라고 한다.



   1) R 프로그래밍 실습

      R 프로그램 내장함수 중 pnorm을 이용하면 정규분포에서의 확률을 쉽게 계산할 수 있다

      구문 형식은 아래와 같다

       

      pnorm(x, mean = 0, sd = 1, lower.tail = TRUE)


      이며, 여기서 x는 확률변수 X의 특정값을 의미한다. 

      이들 값을 입력하지 않으면 표준정규분포에서의 확률을 계산해준다.


      lower.tail은 확률계산의 방향을 선택하는 옵션으로 그 값을 TRUE(또는 T)로 설정하면 

      P(X ≤ x) 가 계산되고, FALSE(또는 F)로 하면 P(X ≥ x)가 계산되며, 

      기본값은 TRUE이므로 TRUE(또는 T)로 설정 시에는 생략 가능하다.      


      

    2) 문제

      LCD 제조회사에서 생산되는 패널의 수명시간은 정규분포를 따른다고함

      생산되는 LCD패널에 대한 평균 수명시간은 3000시간 이라 할 때 임의로 선택한

      LCD 패널 1개의 수명시간이  2948 ~ 3080 시간 사이일 확률을 구하여라


      > avg = 3000

      > sigma = 80

      > x1 = 2948

      > x2 = 3080

      > pnorm(x2,mean=avg,sd=sigma) - pnorm(x1,mean=avg,sd=sigma)

      [1] 0.5834986

      > z1 = (x1-avg) / sigma

      > z2 = (x2-avg) / sigma

      > pnorm(z2) - pnorm(z1)

      [1] 0.5834986 



'IT > R' 카테고리의 다른 글

R invalid factor level, NA generated 오류해결  (0) 2020.01.18
이항분포의 정규근사  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
도수분포표, 상대도수 구하기  (0) 2018.03.27
R 스튜디오 설치하기  (0) 2017.12.04
Posted by 소율소희아빠

1. 이항분포 R 프로그램의 내장함수 중 dbinom과 pbinom을 이용하여 

    이항분포에서의 확률을 쉽게 계산할 수 있음


1) 구문형식

- dbinom(x, size, prob)

  * x : 확률변수 X의 특정값  

  * size : 시행횟수

  * prob : 성공확률

- pbinom(x, size, prob, lower.tail = TRUE)

  * lower.tail은 확률 계산 방향 옵션

    ㄴ TRUE : P( X<= x )

    ㄴ FALSE : P( X >= x )


2) 예제

강의 수강생 중 30%만이 강의에 만족한다고 함 만약 이 강의생 중 20명을 임의로 선택 했을 때 이들 중 4명 미만의 수강생이 강의에 만족할 확률과 7명의 강의생이 만족할 확률은?


 > pbinom(3, size=20,prob=0.3, lower.tail = T)

   [1] 0.1070868

> dbinom(7,size=20,prob=0.3)

   [1] 0.164262


만약, 12명 이상의 수강생이 강의에 만족할 확률을 구하고자 한다면?

> pbinom(12,size=20,prob=0.3, lower.tail = F)

   [1] 0.00127888




'IT > R' 카테고리의 다른 글

이항분포의 정규근사  (0) 2018.04.17
정규분포에서 확률구하기  (0) 2018.04.17
도수분포표, 상대도수 구하기  (0) 2018.03.27
R 스튜디오 설치하기  (0) 2017.12.04
R설치하기  (0) 2017.12.04
Posted by 소율소희아빠

0. 데이터

 - 혈액형sample

> blood =c("B","A","AB","O","A","B","A","A","A","A","A","B"

,"B","B","B","B","B","B","B","B","B","B","B","B","B","O","O","O","O","O","O","O"

,"AB","AB","AB","AB","AB")


1. 도수분포표 구하기

> table(blood)

blood

 A AB  B  O 

 7  6 16  8 


2. 상대도수 구하기

> prop.table(table(blood))

blood

        A        AB         B         O 

0.1891892 0.1621622 0.4324324 0.2162162 


3. Bar Chart 그리기

> barplot(table(blood))


4. Pie Chart 그리기

> pie(table(blood))





R 코드 전문 복사

> blood = c("B","A","AB","O","A","B","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B","B","B","B","B","O","O","O","O","O","O","O","AB","AB","AB","AB","AB")

> table(blood)

blood

 A AB  B  O 

 7  6 16  8 

> prop.table(table(blood))

blood

        A        AB         B         O 

0.1891892 0.1621622 0.4324324 0.2162162 

> prop.table(table(blood))

blood

        A        AB         B         O 

0.1891892 0.1621622 0.4324324 0.2162162 

> barplot(table(blood))

> pie(table(blood))



'IT > R' 카테고리의 다른 글

이항분포의 정규근사  (0) 2018.04.17
정규분포에서 확률구하기  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
R 스튜디오 설치하기  (0) 2017.12.04
R설치하기  (0) 2017.12.04
Posted by 소율소희아빠

2017. 12. 4. 17:45 IT/R

R 스튜디오 설치하기

1. R studio URL

https://www.rstudio.com/



2. 다운로드 클릭

- 아래 붉은박스 2개 중 아무거나 클릭



3. 다운로드 버튼 클릭

- Desktop Free 버전 ( RStudio Desktop Open source License )




4. 자신의 OS에 맞는 버전 선택하여 다운로드



5. 다운로드한 exe 파일실행

- 다음 다음...기본 세팅으로 설치



6. R Studio 실행



'IT > R' 카테고리의 다른 글

이항분포의 정규근사  (0) 2018.04.17
정규분포에서 확률구하기  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
도수분포표, 상대도수 구하기  (0) 2018.03.27
R설치하기  (0) 2017.12.04
Posted by 소율소희아빠

2017. 12. 4. 17:19 IT/R

R설치하기

1. R 다운로드 mirror URL

- https://cran.r-project.org/


2. OS에 맞게 링크 클릭



3. base 클릭


4. 윈도우 버전 R 다운로드

5. R설치

기본세팅값으로 설치

다음다음...



6. R실행

- 시작 > R i 386



7. R 최신버전 update

- update.packages()

  오픈소스라서 주기적으로 업데이트 해줘야함






'IT > R' 카테고리의 다른 글

이항분포의 정규근사  (0) 2018.04.17
정규분포에서 확률구하기  (0) 2018.04.17
이항분포를 활용한 R프로그램  (0) 2018.04.04
도수분포표, 상대도수 구하기  (0) 2018.03.27
R 스튜디오 설치하기  (0) 2017.12.04
Posted by 소율소희아빠
이전버튼 1 이전버튼

블로그 이미지
소율소희아빠

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.6
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

최근에 올라온 글

최근에 달린 댓글

글 보관함