본문 바로가기
반응형

통계17

[SPSS 통계] 6. 일원분산분석(One-way ANOVA) 및 사후분석 하는 방법 데이터는 1강에서 다운받으시면 됩니다. (1강 링크) 이번시간에는 일원분산분석을해봅시다. 아래와 같은 질문을 해결하는 것이 목적입니다. 체질량지수(BMI)를 세 군으로 나누었을 때, 세 집단 간 키의 차이가 있는가? 일원분산분석에는 세가지 가정이 필요합니다. 1) 각 관측들은 서로 독립이다. (관측이란 표본의 원소를 뜻함) 2) 각 표본의 모집단은 정규분포를 따른다. 3) 각 표본의 모집단은 분산이 같다. BMI 변수 생성하기 1) BMI 변수를 먼저 생성해야 합니다. BMI는 아래와 같이 계산됩니다. BMI=체중/신장^2 체중과 신장의 단위는 kg과 m입니다. 2) [변환]-[변수계산]을 클릭합니다. 3) 아래와 같이 입력하고 확인을 클릭합니다. 키는 mm 단위로 되어 있으므로 0.001을 곱해주어 m.. 2023. 10. 17.
[SPSS 통계] 4. 독립표본 t검정 하는 법 데이터는 1강에서 다운받으시면 됩니다. (1강 링크) 이번시간에는 독립표본 t검정을 해봅시다. 아래와 같은 질문을 해결하는 것이 목적입니다. 남자와 여자의 키 차이가 있는가?? 독립표본 t검정은 서로 독립인 두 집단의 평균을 비교할 때 사용합니다. 독립표본 t검정에는 세가지 가정이 필요합니다. 1) 각 관측들은 서로 독립이다. (관측이란 표본의 원소를 뜻함) 2) 두 표본 각각의 모집단은 정규분포를 따른다. 3) 두 표본 각각의 모집단은 분산이 같다. 세번째 가정이 만족되지 않을 경우 웰치의 t검정을 하면 되는데, SPSS에서는 웰치 t검정 결과도 함께 출력됩니다. 1) [분석]-[평균비교]-[독립표본 t검정] 를 클릭합니다. 2) 검정변수에 키를 선택하고, 집단변수에 성별을 선택합니다. 3) 집단정의를.. 2023. 10. 17.
[SPSS 통계] 2. 기술통계량 보는 법 데이터는 1강에서 다운받으시면 됩니다. (1강 링크) 이번 시간에는 기술통계량을 출력해봅시다. 기술통계량은 평균, 분산과 같이 데이터를 요약하는 값들을 말합니다. 1) [분석]-[기술통계량]-[기술통계] 를 클릭합니다. 2) 궁금한 변수들을 선택합니다. 동시에 여러변수를 선택해도 됩니다. 3) 옵션을 클릭해봅시다. 체크한 값들이 결과로 출력됩니다. 중간값과 분위수는 없네요. 4) 확인을 누르면 아래와 같은 결과가 출력됩니다. 2023. 9. 22.
[R강의] 143. 엑셀 데이터 불러올 때 설명 행 없이 불러오기 아래와 같은 데이터가 있다고 합시다. 첫 두줄은 설명입니다. R에서 불러올 때 설명줄은 생략하고 불러오는 방법을 알아봅시다. [File]-[Import Dataset]-[From Excel] 을 클릭합니다. 데이터를 불러옵니다. 첫 두 줄을 생략하려면 Skip 에 2를 넣으면 됩니다. 2023. 3. 15.
[R강의] 142. var, sd 함수는 모집단일까 표본일까 var 함수 R에서 분산을 계산할 때 사용하는 var 함수가 모분산을 계산하는지 표본분산을 계산하는지 알아봅시다. data=c(1,2,3,4,5) #모 분산 직접 계산하기 var_cal_p=sum((data-mean(data))**2)/length(data) #표본 분산 직접 계산하기 var_cal_s=sum((data-mean(data))**2)/(length(data)-1) #var 함수 사용 var_fun=var(data) #출력 print(var_cal_p) print(var_cal_s) print(var_fun) > print(var_cal_p) [1] 2 > print(var_cal_s) [1] 2.5 > print(var_fun) [1] 2.5 var 로 계산된 결과가 표본분산임을 알 수 있.. 2023. 2. 27.
[R강의] 139. 데이터프레임 열이름, 행이름 출력하고 수정하기 데이터프레임을 하나 정의합시다. A=c(1,2,3) B=c(4,5,6) C=c(7,8,9) df=data.frame(A,B,C) > df A B C 1 1 4 7 2 2 5 8 3 3 6 9 열 이름은 names 함수로 가져옵니다. > names(df) [1] "A" "B" "C" 행이름은 rownames 로 가져옵니다. > rownames(df) [1] "1" "2" "3" 열 이름과 행 이름을 수정하는 방법은 아래와 같습니다. names(df)=c('C1','C2','C3') rownames(df)=c('R1','R2','R3') > df C1 C2 C3 R1 1 4 7 R2 2 5 8 R3 3 6 9 2023. 2. 3.
[R강의] 140. For 문을 While 문으로 바꾸는 방법 For 문을 While 문으로 바꾸는 방법을 알아봅시다. 실제 데이터분석을 할 때 For 문을 While 문으로 바꿀 일은 거의 없을 것입니다. R 수업 예제문제나 시험문제 정도로 나올 수 있겠네요. 연습삼아 해봅시다. 3의 배수를 3부터 30까지 출력하는 For문입니다. for (i in 1:10){ print(3*i) } 결과는 아래와 같습니다. [1] 3 [1] 6 [1] 9 [1] 12 [1] 15 [1] 18 [1] 21 [1] 24 [1] 27 [1] 30 위 For 문을 While 문으로 바꾸면 아래와 같습니다. i=1 while(i 2022. 4. 28.
[파이썬 강의] 87.시리즈(Series)의 인덱싱과 슬라이싱 시리즈를 하나 정의해봅시다. 데이터, 행이름(index), 열이름(name) 순서로 입력합니다. 데이터는 리스트 형태로 입력해줍니다. >>> import pandas as pd >>> s1=pd.Series([1,2,3,4,5],index=['A','B','C','D','E'],name='my data') >>> s1 A 1 B 2 C 3 D 4 E 5 Name: my data, dtype: int643 인덱싱을 해봅시다. 원리는 리스트나 배열같은 자료구조와 동일합니다. 첫번째 원소에 접근해봅시다. >>> s1[0] 1 세번째 원소에 접근해봅시다. >>> s1[2] 3 첫번째와 세번째 원소에 접근해봅시다. >>> s1[[0,2]] A 1 C 3 Name: my data, dtype: int64 슬라이싱을.. 2021. 11. 17.
[파이썬 강의] 83.판다스 소개 및 설치 우리는 아래의 자료구조들을 배우기로 계획했었습니다. - 리스트 - 튜플 - 딕셔너리 - 집합 - Array (넘파이 패키지) - Series (판다스 패키지) - DataFrame (판다스 패키지) Array 까지 배운 상태이구요. 두개의 자료구조가 남아있습니다. 시리즈와 데이터프레임인데요. 둘다 판다스라는 패키지에서 제공하는 자료구조입니다. 시리즈는 엑셀의 한 열, 데이터프레임은 엑셀시트와 비슷합니다. 엑셀을 사용해 보신 분들은 아시겠지만 다양한 데이터를 다루는데 매우 편리합니다. 시리즈와 데이터프레임 역시 데이터를 편하게 다루기 위해 만들어진 자료구조들입니다. 이제 판다스를 설치해봅시다. 커멘드 창을 열고 아래 명령어를 입력하면 됩니다. pip install pandas 설치가 끝나면 파이썬을 열고 .. 2021. 11. 12.
[파이썬 강의] 39. 문자열의 덧셈, 문자열의 정수 곱셈 문자열에서는 덧셈과 정수곱셈이라는 산술연산이 가능합니다. 먼저 정수 곱셈은 아래와 같습니다. >>> 'hi'*3 'hihihi' >>> 'python is good'*2 'python is goodpython is good' 곱한 정수만큼 문자열을 반복합니다. 문자열의 덧셈은 실제로도 자주 쓰이는 연산입니다. 아래와 같이 문자열을 연결해줍니다. >>> 'python'+'is'+'good' 'pythonisgood 제가 주로 사용했던 상황은 파일경로였습니다. 어떤 폴더 안에 1,2,3,4,5 라는 이름의 텍스트 파일이 각각 저장되어 있다고 합시다. 이 폴더 각각에 순차적으로 접근할 때, 아래의 폴더 이름 부분을 자동으로 바뀌도록 설정할 수 있습니다. '폴더 경로/'+'폴더이름'+'.txt' for 문을 이.. 2021. 10. 13.
[파이썬 강의] 36. 가변객체와 불변객체 (객체의 세 특성) 객체라는 말이 등장하는데요. 자료형과 자료구조를 포함하는 말이 객체입니다. 파이썬에선 모든 것이 객체인데요. 나중에 더 자세히 다루겠습니다. 우리는 파이썬 제공 자료형인 숫자형,문자열,논리형과 자료구조인 리스트,튜플,집합,딕셔너리를 배운상태입니다. 어떤 자료구조는 원소를 변경할 수 있었고, 어떤 자료구조는 변경할 수 없었습니다. 변경한다는 것은 수정, 삭제, 추가를 의미합니다. 예를들어 리스트는 원소의 변경이 가능했지만 튜플은 그렇지 않았습니다. 문자열도 원소의 변경이 불가능합니다. 이런 의문이 생길 수 있습니다. 숫자형은 변경이 가능할까? 결론부터 말씀드리면 불가능합니다. 아니 이렇게 변경하면 되는거 아니야? 라고 생각하실 수도 있어요. 아래와 같이요. >>> a=3 >>> a 3 >>> a=5 이건 .. 2021. 10. 8.
[파이썬 강의] 28. 자료구조 - 집합 파이썬에서 기본적으로 제공하는 자료구조는 리스트, 튜플, 딕셔너리, 집합이 있습니다. 또 사람들이 파이썬을 더 편하게 쓰기위해 만들어낸 자료구조로 Array, Series, DataFrame 이 있습니다. - 리스트 - 튜플 - 딕셔너리 - 집합 - Array (넘파이 패키지) - Series (판다스 패키지) - DataFrame (판다스 패키지) 오늘 배워볼 자료구조는 집합입니다. 집합은 원소들을 모아놓은 것입니다. 집합은 중괄호 { }를 이용하여 정의합니다. 1,2,3 을 원소로 갖는 집합을 하나 정의해봅시다. >>> set2={1,2,3} >>> set2 {1, 2, 3} 집합은 아래와 같은 특징을 갖습니다. 1) 원소로 튜플과 문자열을 가질 수 있음. 집합,리스트,딕셔너리 불가. 2) 원소 중복.. 2021. 10. 7.
[파이썬 강의] 27. 딕셔너리에서 key 또는 value만 추출해서 list로 변환 딕셔너리에서 key만 추출하고, 추출된 key를 list로 변환하는 방법을 알아봅시다. 먼저 딕셔너리를 하나 정의합시다. >>> dic1={'김정빈':75,'박한지':56,'임호정':23} >>> dic1 {'김정빈': 75, '박한지': 56, '임호정': 23} key추출해서 리스트로 key만 추출하는 방법은 keys라는 메소드를 사용하는 것입니다. >>> dic1.keys() dict_keys(['김정빈', '박한지', '임호정']) 결과를 list 로 바꾸는 방법은 list 함수를 사용하면 됩니다. >>> key_list=list(dic1.keys()) >>> key_list ['김정빈', '박한지', '임호정'] 타입을 확인해봅시다. >>> type(key_list) value추출해서 리스트로 .. 2021. 10. 7.
[파이썬 강의] 26. 딕셔너리 key와 value의 수정 딕셔너리는 Key:Value 라는 쌍이 하나의 원소입니다. 오늘은 Key와 Value를 수정하는 방법을 알아봅시다. Value는 수정이 가능한데 Key는 편법(?)을 써서 수정해야 합니다. 딕셔너리를 하나 정의해봅시다. >>> dic1={'김정빈':75,'박한지':56,'임호정':23} >>> dic1 {'김정빈': 75, '박한지': 56, '임호정': 23} Value 수정 Value를 먼저 수정해봅시다. Key를 이용하여 Value에 접근하여 다른 값을 입력하면 됩니다. 김정빈의 몸무게를 103으로 수정해봅시다. >>> dic1['김정빈']=103 >>> dic1 {'김정빈': 103, '박한지': 56, '임호정': 23} key 수정 key 수정은 불가능합니다. key를 삭제하고 재생성하는 방식.. 2021. 10. 7.
[R 코드 모아보기] 카이제곱검정 관련 모든 코드 (비모수 포함) @목차 카이제곱검정 카이제곱검정(Yates' correction) 피셔의 정확검정 카이제곱검정, 피셔의정확검정, 오즈비 한번에 출력 카이제곱검정의 사후검정(bonferroni) 카이제곱검정 #data는 행렬형태 #카이제곱검정 chisq.test(data,correct=FALSE) 카이제곱검정(Yates' correction) #data는 행렬형태 #카이제곱검정 chisq.test(data) 피셔의 정확검정 #data는 행렬형태 #기대빈도가 5미만인 셀이 20%이상인 경우 수행 #카이제곱검정 chisq.test(data) 카이제곱검정, 피셔의정확검정, 오즈비 한번에 출력 #패키지 library(epitools) #data는 행렬형태 #검정 oddsratio.wald(data) 카이제곱검정의 사후검정(bon.. 2021. 9. 10.
[R 코드 모아보기] t검정 관련 모든 코드 (비모수 포함) @목차 일표본 t검정 독립표본 t검정 (등분산 가정) 독립표본 t검정 (이분산 가정) 대응표본 t검정 윌콕슨 순위합 검정 (독립표본, 비모수) 윌콕슨 부호순위 검정 (대응표본, 비모수) 일표본 t검정 #data는 벡터형식 #pmean은 모집단평균 #양측검정 t.test(data,mu=pmean) #단측 우측꼬리검정 t.test(data,mu=pmean,alternative="greater") #단측 좌측꼬리검정 t.test(data,mu=pmean,alternative="less") 독립표본 t검정 (등분산 가정) #data1과 data2는 벡터형식 #양측검정 t.test(data1,data2,var.equal=TRUE) #단측 우측꼬리검정 t.test(data1,data2,var.equal=TRUE,a.. 2021. 9. 9.
[R강의] 120. for문에서 스킵할때 쓰는 next for문을 돌릴 때 특정 루프를 스킵해야하는 경우가 있습니다. 이때 사용하는 명령어가 next입니다. i에 1부터 10까지 넣으며 i를 출력하는 for문에서 i가 3인 경우를 건너뛰고 싶다고 합시다. 아래와 같이 next 명령어를 사용하면 됩니다. for (i in 1:10){ if (i==3){ next } print(i) } 아래는 결과입니다. 3이 출력되지 않은 것을 알 수 있습니다. > for (i in 1:10){ + if (i==3){ + next + } + print(i) + + } [1] 1 [1] 2 [1] 4 [1] 5 [1] 6 [1] 7 [1] 8 [1] 9 [1] 10 2021. 8. 13.
반응형