본문 바로가기
반응형

통계 강의13

[R강의] 176. formula 를 문자열로 입력하기 formula 가 무엇인지 모르는 분들을 위해 간단히 설명하겠습니다. iris 데이터가 있다고 합시다. data=iris iris 데이터에는 아래와 같은 변수들이 있습니다. > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa Species 를 독립변수로 하여 Sepal.Length 의 boxplot 을 그리고 싶다면 아래와 같은 코드를 사용하면 됩니다. boxplot.. 2023. 8. 29.
[R강의] 173. 데이터프레임 인덱싱에서 df[3, ] 와 df['3', ] 의 차이 아래 두 인덱싱을 봅시다. df[3, ] df['3', ] 세번째 행을 인덱싱한다는 의미로 두 코드가 같아 보이지만 전혀 다른 코드입니다. df[3, ] 는 세번째 행을 인덱싱한다는 의미이고, df['3', ] 는 이름이 3인 행을 인덱싱한다는 의미입니다. 일반적으로는 세번쨰 행의 이름이 3이기 때문에 결과가 같지만, 행 이름이 달라지는 경우에는 위 두 코드를 구분해주어야 합니다. 아래와 같은 데이터프레임이 있다고 합시다. id=c('A','B','C','D','E') height=c(156,176,167,189,196) weight=c(65,77,84,67,75) df=data.frame(id,height,weight) 행 이름을 아래와 같이 바꾸겠습니다. rownames(df)=c(3,2,1,4,5).. 2023. 8. 29.
[R강의] 153. 함수에 인자를 여러 조합으로 입력하는 방법 (mapply) mapply 함수는 이해하기가 까다로운 함수입니다. 한번 이해하면 쉬운데 감을 잡는 것이 다른 apply 함수들 보다 어렵습니다. 먼저 예시를 하나 봅시다. > mapply(rep,c(1,2,3),c(2,3,4)) [[1]] [1] 1 1 [[2]] [1] 2 2 2 [[3]] [1] 3 3 3 3 mapply 가 어떤 역할을 하는지 감이 오시나요? 출력 결과가 리스트라는 것은 알 수 있습니다. 위 함수가 입력되면 R에서 어떤 일이 벌어지는지 알아봅시다. mapply 함수의 소스를 뜯어본 것은 아니라 순서는 약간 다를 수 있습니다. 위 함수가 입력되면 R에서는 아래와 같은 일이 벌어집니다. 1) rep(1,2) 가 실행되어 리스트의 첫번째 원소로 들어갑니다. 2) rep(2,3) 이 실행되어 리스트의 두.. 2023. 4. 7.
[R강의] 152. 벡터의 그룹별로 함수 적용하기 (tapply) 아래와 같은 벡터가 있다고 합시다. v=c(1,2,3,4,5,6,7,8,9) 각 값들은 아래와 같은 그룹에 속한다고 합시다. 그룹은 factor로 정의합니다. f=factor(c('A','A','B','A','A','B','A','A','B')) tapply 함수를 이용하면 그룹별로 함수를 적용할 수 있습니다. 그룹 별로 평균을 구해봅시다. > tapply(v,f,mean) A B 4.5 6.0 2023. 4. 5.
[R강의] 151. 리스트의 각 원소에 함수 적용하기 (sapply, lapply) 리스트의 각 원소에 함수를 적용하는 방법은 두가지가 있습니다. sapply 와 lapply 함수입니다. sapply 함수는 결과를 벡터나 행렬 형태로 출력하고 lapply 함수는 결과를 리스트 형태로 출력합니다. 예제를 통해서 이해해봅시다. 먼저 리스트를 하나 정의합시다. Math=c(94,82,45,55,67) English=c(88,86,56,90,50) Science=c(87,76,65,43,55) li=list(Math,English,Science) > li [[1]] [1] 94 82 45 55 67 [[2]] [1] 88 86 56 90 50 [[3]] [1] 87 76 65 43 55 1. sapply 함수 sapply 함수는 아래와 같은 형식으로 사용합니다. sapply(리스트,함수) 리스.. 2023. 4. 4.
[R강의] 149. 벡터나 데이터프레임을 그룹별로 나눠 리스트에 저장 (split) split 함수는 벡터나 데이터프레임을 그룹별로 나눠 리스트에 저장해주는 함수입니다. 어떻게 사용되는지 알아봅시다. 1. 벡터를 그룹별로 나눠 리스트에 저장 아래와 같은 벡터가 있다고 합시다. v=c(1,2,3,4,5,6,7,8,9) 각 값들은 아래와 같은 그룹에 속한다고 합시다. 그룹은 factor로 정의합니다. f=factor(c('A','A','B','A','A','B','A','A','B')) split 함수를 사용해봅시다. > split(v,f) $A [1] 1 2 4 5 7 8 $B [1] 3 6 9 2. 데이터프레임을 그룹별로 나눠 리스트에 저장 위에서 정의한 벡터와 요인으로 데이터프레임을 만들어봅시다. df=data.frame(v,f) > df v f 1 1 A 2 2 A 3 3 B 4 4.. 2023. 3. 29.
[R강의] 148. with 함수와 그래프 (열이름을 표현식에 사용) with 함수란? with 함수가 무엇인지 알아보고, with 함수를 그래프와 어떻게 함께 사용되는지도 알아봅시다. with 함수의 기본적인 형태는 아래와 같습니다. with(data,표현식) data에는 데이터프레임이나 리스트가 올 수 있습니다. with 함수는 데이터프레임에 있는 열 이름을 표현식에 바로 사용할 수 있게 해주는 함수입니다. with 함수를 사용하기 위해 아래와 같은 데이터프레임을 하나 정의해봅시다. df=data.frame(A=c(1,2,3),B=c(4,5,6),C=c(7,8,9)) > df A B C 1 1 4 7 2 2 5 8 3 3 6 9 아래와 같이 코드를 입력해봅시다. 어떤 결과가 출력될까요? with(df, A) A가 출력됩니다. > with(df,A) [1] 1 2 3 벡.. 2023. 3. 28.
[R강의] 147. 데이터프레임 열 선택 쉽게 하기, 조건부여 (subset) 열 선택을 쉽게 하도록 해주는 함수가 있습니다. 열만 선택할 수도 있고, 특정 조건을 부여할 수도 있습니다. airquality 라는 데이터를 이용하여 subset 함수를 사용해봅시다. airquality 데이터는 아래와 같습니다. > head(airquality) Ozone Solar.R Wind Temp Month Day 1 41 190 7.4 67 5 1 2 36 118 8.0 72 5 2 3 12 149 12.6 74 5 3 4 18 313 11.5 62 5 4 5 NA NA 14.3 56 5 5 6 28 NA 14.9 66 5 6 1. 특정 열 선택 Ozone 열을 선택해봅시다. 아래와 같이 함수를 사용하면 됩니다. > subset(airquality,select=Ozone) Ozone 1 41.. 2023. 3. 27.
[R강의] 146. attach 함수와 detach 함수 내장데이터인 iris 를 이용하여 attach 함수와 detach 함수를 설명하겠습니다. iris 데이터에는 아래와 같이 다섯개의 열이 있습니다. > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa 6 5.4 3.9 1.7 0.4 setosa 첫번째 열에 접근하는 방법은 여러가지가 있는데 그 중 한 가지를 예를 들면 아래와 같습니다. > iris['Sepal.Length'] iris 데이터에 attach 함수를.. 2023. 3. 23.
[R강의] 145. 변수목록 보기, 삭제하기 변수를 생성해봅시다. > a=3 > b=c(1,2,3) > c='hi' R스튜디오를 쓰는 분들은 오른쪽 위에 있는 environment 탭에서 변수 목록을 확인할 수 있고 삭제도 가능합니다. 오늘 알아볼 방법은 콘솔 창에서 변수 목록을 출력하고 삭제하는 방법입니다. 변수 목록을 출력할 때는 ls() 또는 ls.str() 을 이용합니다. > ls() [1] "a" "b" "c" > ls.str() a : num 3 b : num [1:3] 1 2 3 c : chr "hi" 변수를 삭제할 때는 rm( ) 을 사용합니다. 변수 이름을 넣으면 됩니다. > rm(a) > ls() [1] "b" "c" 여러 변수를 삭제할 때는 list 옵션에 벡터 형태로 입력합니다. 이름을 문자열로 입력해야 합니다. > rm(li.. 2023. 3. 20.
[R강의] 134. 데이터프레임 열이름이 다른 경우 rbind 적용하기 rbind 함수는 데이터프레임들의 행을 결합하는 함수입니다. 데이터프레임들의 열 이름이 같아야 사용이 가능합니다. 변수 종류는 같은데 열 이름이 다르게 쓰여진 경우에 rbind 함수를 적용하는 방법을 알아봅시다. 아래와 같은 두 데이터프레임이 있습니다. A=data.frame(id=c(1,2,3), weight=c(78,88,98), HEight=c(170,175,180)) B=data.frame(id=c(4,5,6), weight=c(58,68,78), height=c(140,155,160)) > A id weight HEight 1 1 78 170 2 2 88 175 3 3 98 180 > B id weight height 1 4 58 140 2 5 68 155 열 이름이 달라서 rbind 함수 적용.. 2023. 1. 25.
[R강의] 133. 데이터프레임을 행으로 결합하기 (rbind) 데이터프레임을 행으로 결합하는 방법을 알아봅시다. 행으로 결합한다는 것은 아래와 같은 결합을 뜻합니다. 이때 rbind 함수가 사용됩니다. rbind 는 row(행) 을 bind(결합하다) 를 의미합니다. rbind 를 사용하려면 합치려는 데이터프레임들의 '열 이름'이 같아야 합니다. R코드로 예를 들어봅시다. 두개의 데이터 프레임을 생성합시다. A=data.frame(id=c(1,2,3), weight=c(78,88,98), height=c(170,175,180)) B=data.frame(id=c(4,5,6), weight=c(58,68,78), height=c(140,155,160)) 콘솔창에 출력해보면 아래와 같습니다. > A id weight height 1 1 78 170 2 2 88 175 3.. 2023. 1. 24.
[R강의] 128. 엑셀 데이터 불러와서 통계량,그래프,t검정 하기 (템플릿) 오늘 배워볼 내용의 요약은 아래와 같습니다. 좌측과 같은 엑셀 데이터를 R에서 불러와서, 우측 위의 그림과 같은 그래프를 그릴 것입니다. 우측 아래와 같이 요약 통계량과 t검정 결과가 요약된 표도 출력할 것입니다. 먼저 R에서 엑셀 데이터를 불러오겠습니다. 메뉴탭에서 [File]-[Import Dataset]-[From Excel] 을 클릭합니다. Browse 를 누르고 엑셀 데이터를 찾아서 열어줍니다. 데이터가 있는 Sheet를 선택한 뒤 우측 'Code Preview' 의 코드를 복사합니다. Cancel을 눌러서 끄고 스크립트 창에 붙여넣어줍니다. View 코드는 지우고, 변수 이름이 길기 때문에 짧게 dt 로 바꿔줍니다. library(readxl) dt dt # A tibble: 60 x 3 반 .. 2021. 12. 30.
반응형