본문 바로가기
반응형

데이터프레임18

[R강의] 162. 데이터프레임 특정 열을 기준으로 오름차순, 내림차순 정렬하기 데이터프레임을 오름차순 또는 내림차순으로 정렬할 때는 order 라는 함수가 사용됩니다. 먼저 order 함수를 이해해봅시다. 1. order 함수와 벡터의 오름차순,내림차순 정렬 아래와 같이 벡터를 두개 정의합시다. v1=c(1,2,1,3,2) v2=c(20,10,10,10,30) v1에 order 함수를 적용해봅시다. > order(v1) [1] 1 3 2 5 4 v1을 오름차순 정렬 했을 때, 각 원소가 몇번 째 오게 되는지를 반환합니다. 만약 order(v1)의 결과를 아래와 같이 인덱스로 사용한다면, 오름차순으로 정렬하는 효과를 얻습니다. > v1[order(v1)] [1] 1 1 2 2 3 내림차순 정렬은 아래와 같이 하면 됩니다. > v1[order(v1,decreasing=TRUE)] [1.. 2023. 8. 29.
[하루만에 끝내는 R 데이터프레임] 8. 특정 조건으로 데이터프레임 추출하기 이번 시간에는 특정 조건으로 데이터프레임을 추출하는 방법을 알아보겠습니다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 행과 열에 접근하기 (데이터프레임 열/행 인덱싱) 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추출하기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 이번시간에 사용할 데이터는 CO2라는 내장데이터입니다. 먼저 내장데이터 CO2를 변수 dt에 넣어줍니다. dt=CO2 str 함수를 이용하여 CO2 데이터에.. 2023. 7. 12.
[하루만에 끝내는 R 데이터프레임] 7. 데이터프레임 행 또는 열 제거, 추가, 변경하기 이번 시간에는 데이터프레임의 행 또는 열 제거, 추가, 변경하는 방법을 배워봅시다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 행과 열에 접근하기 (데이터프레임 열/행 인덱싱) 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 먼저 데이터프레임을 하나 정의하겠습니다. 학생들의 정보를 담고 있는 데이터프레임입니다. df df[-1,] name age grade 2 Emma 1.. 2023. 7. 10.
[하루만에 끝내는 R 데이터프레임] 6. 데이터프레임 행과 열에 접근하기 (데이터프레임 열/행 인덱싱) 이번 시간에는 데이터프레임의 행과 열에 접근하는 방법을 배워봅시다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 행과 열에 접근하기 (데이터프레임 열/행 인덱싱) 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 먼저 데이터프레임을 하나 정의하겠습니다. 학생들의 정보를 담고 있는 데이터프레임입니다. df df[1,] name age grade 1 John 20 A 행의 이름을.. 2023. 7. 6.
[하루만에 끝내는 R 데이터프레임] 5. 데이터프레임 원소에 접근하는 방법 이번 시간에는 데이터프레임 원소에 접근하는 방법을 배워봅시다. 벡터의 인덱싱과 원리가 비슷하므로 쉽게 이해할 수 있을 것입니다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 열과 행에 접근하기 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 데이터프레임을 하나 정의하겠습니다. 학생들의 정보를 담고 있는 데이터프레임입니다. df df name age grade 1 John 2.. 2023. 6. 16.
[하루만에 끝내는 R 데이터프레임] 4. 벡터의 인덱싱 이번 시간에는 벡터의 인덱싱을 배워봅시다. 인덱싱은 데이터에서 원하는 요소에 접근하는 방법을 말합니다. 벡터의 인덱싱을 확장한 것이 데이터프레임의 인덱싱이므로 벡터의 인덱싱을 먼저 잘 이해해야 데이터프레임의 인덱싱을 잘 할 수 있습니다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 열과 행에 접근하기 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 인덱싱이 무엇인지 이해하기.. 2023. 6. 2.
[하루만에 끝내는 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 데이터프레임] 2. 데이터프레임 정의하고 열이름, 행이름 바꾸기 이번시간에는 데이터프레임을 정의하는 방법을 배우고, 행과 열의 이름을 바꿔볼 것입니다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프레임 열과 행에 접근하기 7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기 8교시. 특정 조건으로 데이터프레임 추리기 9교시. 여러 데이터프레임 결합하기 10교시. 엑셀파일을 데이터프레임으로 불러오기 1. 데이터프레임 정의하기 데이터프레임을 하나 정의해봅시다. 데이터프레임은 벡터를 이용하여 정의합니다. 각 벡터들은 데이터프레임의 열이 됩니다. 학생들의 정보를 담고 있는 데이.. 2023. 6. 2.
[하루만에 끝내는 R 데이터프레임] 1. 강의 소개 본 강의는 하루만에 끝내는 R 기초에 이은 하루만에 끝내는 시리즈 두번째 강의입니다. 제목은 하루만에 끝내는 R 데이터프레임 입니다. 아마 많은 분들이 통계분석과 시각화를 위해 R을 배우시는 것이라 생각됩니다. 통계분석과 시각화를 배우기 전에 '데이터프레임'을 정복해야 합니다. 데이터프레임은 R에서 가장 많이 사용되는 자료구조입니다. 데이터프레임을 잘 다룰 줄 알아야 통계분석과 시각화가 한결 편해집니다. 하루만에 끝내는 데이터프레임에서 배울 내용은 아래와 같습니다. 1교시. 강의 소개 2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기 3교시. 유용한 기본함수 (tail, head, str, dim) 4교시. 벡터의 인덱싱 5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱) 6교시. 데이터프.. 2023. 6. 2.
[R강의] 155. 데이터프레임의 여러 열을 합쳐서 변수와 값으로 만들기 (melt) 데이터프레임의 여러 열을 합쳐서 변수와 값으로 만드는 방법을 알아봅시다. 말이 좀 어렵죠? 그림으로도 준비했습니다. 왼쪽 데이터는 다섯 학생의 성별과 시험성적입니다. 네 과목의 시험성적인데요. 오른쪽 처럼 과목이라는 열과 점수라는 열로 바꿔보겠습니다. 오른쪽 처럼 바꾸면 데이터를 다루기가 편해집니다. 먼저 패키지를 하나 설치하고 불러옵시다. reshape2 라는 패키지입니다. 이 패키지 안에 있는 melt 함수를 사용할 겁니다. #패키지 설치 install.packages("reshape2") #패키지 불러오기 library(reshape2) 아래와 같이 데이터를 입력합시다. ID=c(1,2,3,4,5) SEX=c('M','M','F','F','F') ENG=c(65,55,45,95,78) MATH=c(.. 2023. 4. 15.
[R강의] 150. 데이터프레임의 열 방향으로 함수 적용하기 (apply, sapply, lapply) 데이터프레임의 열 방향으로 함수를 적용하는 방법은 무려 세가지가 있습니다. apply,sapply,lapply 입니다. 이들의 차이점은 결과를 출력하는 방식입니다. apply와 sapply 는 벡터나 행렬 형태로 결과로 출력하고 laaply 는 리스트 형태로 결과를 출력합니다. 복잡해 보이지만 예제를 통해 쉽게 이해할 수 있습니다. 먼저 데이터프레임을 하나 정의해봅시다. Math=c(94,82,45,55,67) English=c(88,86,56,90,50) Science=c(87,76,65,43,55) df=data.frame(Math,English,Science) > df Math English Science 1 94 88 87 2 82 86 76 3 45 56 65 4 55 90 43 5 67 50 .. 2023. 4. 3.
[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강의] 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강의] 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강의] 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기초] 5교시. 자료구조 지난시간에는 변수가 무엇인지 배웠습니다. 변수에 원하는 값을 입력해 놓고 사용할 수 있었습니다. 목차를 한번 더 꺼내봅시다. 1교시) 강의 소개 2교시) R설치, R스튜디오 설치 3교시) 자료형 4교시) 변수 5교시) 자료구조 6교시) 연산자(산술,비교,논리) 7교시) 조건문, 반복문 8교시) 함수, 패키지 9교시) 그래프(박스플롯), t검정 10교시) 단축키 소개 및 전체요약 오늘은 자료구조를 배울 것입니다. 먼저 지난시간에 사용한 데이터를 가져옵시다. 김함수/남/35/183/72 박산술/남/27/177/69 이비교/남/42/175/78 송논리/여/33/167/58 최검정/여/25/155/47 유반복/여/47/173/65 지난시간에 우리는 사람의 이름을 변수로 입력했습니다. 사람 이름 마다 하나씩 변수.. 2022. 11. 11.
[R강의] 130. 데이터프레임 열 인덱싱 결과는 두 가지 입니다. 데이터프레임의 열에 접근할 때, 인덱싱 결과는 두 가지입니다. 하나는 데이터프레임이구요. 다른 하나는 벡터입니다. 우리가 원하는 결과를 의도하고 인덱을 해주어야 하는데요. 방법을 알아봅시다. 먼저 데이터프레임을 하나 정의해봅시다. A=c(5,4,7,6,2,1,3) B=c(1,2,3,4,5,6,7) df=data.frame(A,B) > df A B 1 5 1 2 4 2 3 7 3 4 6 4 5 2 5 6 1 6 7 3 7 첫번째 열에 접근하다고 할 때, 결과가 데이터프레임인 경우는 아래와 같습니다. > df['A'] A 1 5 2 4 3 7 4 6 5 2 6 1 7 3 > df[1] A 1 5 2 4 3 7 4 6 5 2 6 1 7 3 열의 이름을 사용하거나 열 번호를 사용하면 되는데요. 행을 명시하지 않.. 2022. 4. 2.
R에서 데이터프레임을 만드는 네가지 방법 (자주쓰는 방법들) R에서 데이터프레임을 만드는 네가지 방법입니다. 제가 자주 사용하는 방법을 정리한 것입니다. 1. 열백터로 데이터프레임 만들기 name=c('kys','ojh','psk') gender=c('M','F','M') height=c(182,165,177) df=data.frame(name,gender,height) > df name gender height 1 kys M 182 2 ojh F 165 3 psk M 177 2. 데이터프레임에 열 추가하기 name=c('kys','ojh','psk') gender=c('M','F','M') height=c(182,165,177) df=data.frame(name,gender,height) df['age']=c(18,22,32) > df name gender he.. 2022. 3. 29.
반응형