[하루만에 끝내는 R 데이터프레임] 3. 유용한 기본함수 (tail, head, str, dim)
이번시간에는 데이터프레임에 사용하는 유용한 함수를 알아봅시다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 열과 행에 접근하기 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 네 가지 함수를 배워볼 건데요. tail, haed, str, dim 입니다. 간단한 설명은 아래와 같습니다. tail : 데이터프레임의 앞부분 출력 head : 데이터프레임 뒷부분 출력 str : 데..
2023. 6. 2.
[R강의] 140. 데이터 프레임을 쉽게 조작하는 transform 함수
데이터프레임을 하나 정의합시다. num=1:10 score=c(78,62,65,94,71,97,57,83,71,96) md=data.frame(num,score) > md num score 1 1 78 2 2 62 3 3 65 4 4 94 5 5 71 6 6 97 7 7 57 8 8 83 9 9 71 10 10 96 둘째 열에 5를 더해서 셋째 열을 추가하는 상황을 가정합시다. 아래와 같이 인덱싱을 이용하여 추가할 수 있습니다. > md[,'add']=md$score+5 > md num score add 1 1 78 83 2 2 62 67 3 3 65 70 4 4 94 99 5 5 71 76 6 6 97 102 7 7 57 62 8 8 83 88 9 9 71 76 10 10 96 101 이번에는 tran..
2023. 2. 27.
[R강의] 138. 데이터프레임 행 추가할 때 리스트를 사용해야하는 이유
데이터프레임에 행을 추가할 때 왜 리스트를 사용해야 하는지 이야기해보려고 합니다. 먼저 데이터프레임을 하나 정의하겠습니다. name=c('KYS','OJH','PSK') gender=c('M','F','M') height=c(182,165,177) df=data.frame(name,gender,height,stringsAsFactors=FALSE) > df name gender height 1 KYS M 182 2 OJH F 165 3 PSK M 177 1열은 이름, 2열은 성별, 3열은 키입니다. 사람 한명의 정보를 더 추가하고 싶은 상황입니다. 가장 쉽게 떠오르는 방법은 인덱싱을 통해 추가하는 것입니다. 아래와 같이 추가할 수 있습니다. > df[4,]=c('CYR','F',163) > df name..
2023. 1. 31.
[R강의] 137. 데이터프레임 결합의 끝판왕 (merge)
merge 함수는 두 데이터프레임을 합쳐주는 함수입니다. rbind 보다는 cbind 와 유사한데요. cbind와 구벌되는 점은 특정 열을 기준으로 하여 합친다는 것입니다. 총 네가지 방법이 있는데요. 그림을 보면 쉽게 이해가 되실겁니다. 데이터프레임을 가지고 직접 해봅시다. 사용할 두 데이터는 아래와 같습니다. A=data.frame(id=c(1,2,3),weight=c(78,88,98),height=c(170,175,180)) B=data.frame(id=c(2,3,4),math=c(75,85,85),eng=c(100,85,60)) 콘솔창에 입력해보면 아래와 같습니다. > A id weight height 1 1 78 170 2 2 88 175 3 3 98 180 > B id math eng 1 2 ..
2023. 1. 31.
[R강의] 136. rbind로 데이터프레임들 결합할 때, 구분하는 열 추가하기
데이터프레임을 두개 만들어봅시다. 하나는 남자의 키와 몸무게이고, 하나는 여자의 키와 몸무게 입니다. weight=c(78,88,98) height=c(170,175,180) male_df=data.frame(weight,height) weight=c(48,58,68) height=c(150,160,170) female_df=data.frame(weight,height) 우리는 두 데이터프레임을 합치고 싶은 상태인데요. 데이터프레임이 합쳐진 후에도 남녀를 구분하고 싶습니다. 각 데이터프레임에 열을 하나씩 추가합시다. 아래와 같이 입력합니다. male_df['gender']='M' female_df['gender']='F' 각 데이터프레임은 아래와 같이 변했습니다. > male_df weight heigh..
2023. 1. 31.
[R강의] 132. 여러 점들 사이의 거리 한번에 구하는 법 (dist함수)
아래와 같이 5개의 점이 있다고 합시다. P1=c(1,2,3) P2=c(3,5,2) P3=c(5,5,4) P4=c(1,4,7) P5=c(2,2,4) 이들 중 어느 두 점이 가장 가까운 거리에 있는지 알고 싶은 상황입니다. 유클리드 거리를 행렬 형태로 출력해주는 함수가 있습니다. dist 함수입니다. 먼저 위 점들을 하나의 행렬로 묶어줍니다. mat1=matrix(c(P1,P2,P3,P4,P5),byrow=TRUE,nrow=5) > mat1 [,1] [,2] [,3] [1,] 1 2 3 [2,] 3 5 2 [3,] 5 5 4 [4,] 1 4 7 [5,] 2 2 4 위에서 만든 행렬에 dist 함수를 적용해봅시다. > dist(mat1) 1 2 3 4 2 3.741657 3 5.099020 2.828427 ..
2022. 12. 23.
[R강의] 131. 연속형 변수를 구간에 따라 범주형 변수로 바꾸는 방법
점수를 학점으로 바꿔봅시다. 바꾸는 기준은 아래와 같습니다. 점수는 연속형 변수이고, 학점은 범주형 변수입니다. R에는 위와 같이 범위로 표현된 연속형 변수를 범주형 변수로 바꿔주는 함수가 있습니다. cut 함수를 사용합니다. 먼저 데이터를 생성합시다. 10명의 점수를 생성하겠습니다. num은 번호이고 score 은 점수입니다. #데이터 생성 num=1:10 score=c(78,62,65,94,71,97,57,83,71,100) md=data.frame(num,score) > md num score 1 1 78 2 2 62 3 3 65 4 4 94 5 5 71 6 6 97 7 7 57 8 8 83 9 9 71 10 10 100 cut 함수는 아래와 같이 사용합니다. #점수를 학점으로 변환 gpa=cut(..
2022. 12. 23.
[하루만에 끝내는 R기초] 7교시. 조건문,반복문
지난시간에는 연산자를 배웠습니다. 연산자에는 산술, 비교, 논리연산자 있었는데요. 산술연산자와 비교연산자만 배웠습니다. 산술연산자는 사칙연산, 제곱과 같이 수학적인 연산을 말합니다. 비교연산은 크기를 비교하는 연산이고, 참 또는 거짓값을 반환합니다. 목차를 가져와서 오늘 배울 내용을 알아봅시다. 1교시) 강의 소개 2교시) R설치, R스튜디오 설치 3교시) 자료형 4교시) 변수 5교시) 자료구조 6교시) 연산자(산술,비교,논리) 7교시) 조건문, 반복문 8교시) 함수, 패키지 9교시) 그래프(박스플롯), t검정 10교시) 단축키 소개 및 전체요약 오늘 배울 내용은 조건문과 반복문입니다. '문'이라는 말이 붙어있는데요. 문장이라는 뜻입니다. 조건문은 조건이 들어있는 문장, 반복문은 반복이 들어있는 문장이라..
2022. 11. 12.
[하루만에 끝내는 R기초] 4교시. 변수
지난시간에는 자료형이 무엇인지 배웠습니다. 자료형에는 숫자형, 문자형, 논리형이 있습니다. 문자형은 따옴표를 사용하여 입력하고, 논리형은 TRUE와 FALSE가 있습니다. 목차를 한번 더 꺼내봅시다. 1교시) 강의 소개 2교시) R설치, R스튜디오 설치 3교시) 자료형 4교시) 변수 5교시) 자료구조 6교시) 연산자(산술,비교,논리) 7교시) 조건문, 반복문 8교시) 함수, 패키지 9교시) 그래프(박스플롯), t검정 10교시) 단축키 소개 및 전체요약 오늘은 변수라는 것을 배울겁니다. 변수는 R에서 없어서는 안되는 존재입니다. 변수가 있기 때문에 코딩이 아주 편해졌습니다. R콘솔에 숫자 하나를 입력해봅시다. 우리가 100을 입력하면, 컴퓨터 메모리 어딘가에 100이 저장됩니다. 하지만 이렇게 저장된 10..
2022. 11. 11.
[R 코딩 연습문제] 누적분포 그래프 그리기
(R 코딩실력 향상을 위한 연습문제입니다.) Question 아래 데이터의 누적분포 그래프를 그리시오. 1,2,7,8,10,11,13,15,17,19 Answer data=c(1,2,7,8,10,11,13,15,17,19) cd=1:length(data)/length(data) plot(data,cd)
2022. 5. 13.
[R강의] 999. 평균절대편차, 중앙값절대편차 구하는 법
1) 중앙값 절대편차 (median absolute deviation, mad) mad 함수 사용 > dt=c(1,2,3,4,50) > mad(dt) [1] 1.4826 2) 평균 절대편차 (average absolute deviation, aad) lsr 패키지 필요 install.packages("lsr") library(lsr) aad 함수 사용 > dt=c(1,2,3,4,50) > aad(dt) [1] 15.2
2022. 4. 30.