본문 바로가기

728x90
반응형

배우기

(265)
[R] 이해한대로 써보는 차원축소 차원축소란 2차원이면 1차원으로, 1차원이면 0차원(스칼라)로 축소되는 것을 의미한다. 여러 복잡한 자료구조를 갖는 언어는 데이터를 표현하기 적절한 구조들을 가지고 있다. 1 이라는 숫자 하나가 있다. 이 스칼라 값을 굳이 벡터로 표현할 이유는 없다. 비효율적이기 때문이다. 1 하나로 더더욱 데이터 프레임으로 만들어주진 않는다. 그렇기 때문에 어떤 데이터가 있을 때, 그 데이터 일부를 선택하거나 추출하거나 등의 작업을 진행 하면서 출력되는 데이터 차원의 경우 굳이 원래의 데이터 차원을 유지할 필요가 없다. 예를 들어 데이터 프레임은 2차원인데 컬럼 하나를 선택하면 1차원으로 추출된다. 굳이 2차원으로 표현할 필요가 없는 것이다. 항상 색인에는 차원 축소가 포함되어 있다. v2를 살펴보자 v2[1]은 차원..
[복습] R(programming language) 문자열 함수 정리하기 + 복습후기(20231122) 이 연습에서는 stringr 패키지를 사용하였다. install.packages('stringr') 로 패키지 설치 후 library(stringr)로 로드하였다. 문자열 함수에 본격적으로 들어가기 전에 중요 패키지 내부 함수 목록 보는 팁을 설명하겠다. 이렇게 stringr:: 처럼 콜론을 두 번 붙이면 stringr 패키지의 내부 함수를 볼 수 있다. 그런데 분석기사 시험장에는 자동완성이 되지 않는다. 옵션과 함수명을 다 외워야 하고 팝업도 뜨지 않는다. 그럴 때에는 ls('package:stringr') 로 찾아볼 수 있다. ls('package:base') 하면 모든 패키지의 목록이 다 나온다. 따라서 stringr:: 또는 ls() 를 사용하면 될 것이다. 본격적으로 문자열 함수를 정리해보자. ..
[복습] R(programming language) 자료구조(데이터 프레임) (3) 데이터 프레임을 살펴보기 전에 다른 자료구조들도 간단히 살펴보자. 1. 벡터 - 1차원이다. - 서로 같은 데이터타입만 허용한다. 사용자가 임의로 다른 데이터를 넣으면 문자가 상위 개념이어서 숫자와 문자를 넣으면 문자, 논리값과 문자 넣어도 문자로 변환되어 나온다. 그러나 우선순위를 알 필요는 없다. 이렇게 값을 넣는 것이 잘못되었다는 것만 인지하자. 2. 리스트 - 사실상 1차원 - 하지만 벡터와는 다르게 key-value 구조이다. 그러다보니 2차원은 아니지만 여러 정의된 데이터를 축적할 수 있다. 즉 key 별로 데이터 축적 및 색인이 가능하다. 아직 배우진 않았지만 구조를 살펴보면 아래와 같다. 2차원이라고 생각할 수 있지만 박길동을 추출하고 싶을 때 박길동만의 정보를 [,]로 추출할 수 있다. ..
[복습] R(programming language) 자료구조(벡터) (2) https://metime.tistory.com/96 [복습] R(programming language) 의 자료구조(벡터, 데이터 프레임) + 복습후기(20231121) R의 자료구조에는, 0. 스칼라 1. 벡터 2. 리스트 3. 행렬 4.배열 5. 데이터 프레임 이 있다. 오늘은 벡터와 데이터 프레임에 대하여 배웠다. 이와 비교하여 먼저 스칼라란, 하나의 상수로 자료의 구조 metime.tistory.com 이 글에 이어서 다시 벡터와 데이터 프레임 정리를 해보았다. 개념 정도는 위 게시글에서 다시 확인하고, [벡터] 1. 생성 여기서 주의할 점 한 가지를 더 강조하자면, 한 벡터의 데이터 타입은 동일해야하며, 서로 다른 데이터 타입을 선언할 수 없다. v1 3 : 조건 인덱싱이 가능하다(boolea..
[복습] R(programming language) 연산자 정리 R에서 사용하는 연산자에는 1. 비교연산자 2. 논리연산자 3. 포함연산자 이렇게 존재한다. 먼저 비교연산자는 간단하게 == 같다 < 크다 작다
[R]데이터 저장 방법(행 방향 저장? 열 방향 저장?) 보통 행정기관의 자료를 받아보면 엑셀에 이런 형식으로 데이터가 저장되어 있다. 예) 강남 상가의 연도별 매출액 2023 2022 2021 2020 2019 ........ 스타벅스 바나에스프레소 이 경우는 자료가 행방향으로 저장되는데 이러한 자료를 와이드 형식이라고 한다. 이러한 와이드 형식의 자료가 DB로 들어오는 경우 JOIN도 되지 않고 GROUPING도 되지 않는다. 한 컬럼을 추출하게 되면 2023년도의 각각 다른 상가들의 자료가 추출되어 효율적이지 않다. 스타벅스 자료를 읽으려면 모든 행열의 자료를 다 불러와야하기 때문에 DISK I/O도 크다. 스타벅스 바나에스프레소 2023 2022 2021 2020 2019 이런 컬럼형으로 된다면 한 가게 당 데이터를 추출할 수 있기 때문에 자료를 더 효..
[R]key-value를 이해하기 위한 과정 key-value를 이해하기 위해서는 앞에서 공부해온 sql의 table과 비교가 필요할 것 같다. oracle인 RDBMS는 행 기반으로 자료를 찾는다. RDBMS에서 테이블이라고 부르는 구조는 R과 Python에서는 데이터 프레임이라고 한다. RDBMS는 key-value 구조가 아니다. 위에서 언급하였듯이 RDBMS는 자료를 찾을 때 한 행씩 읽어가며 자료를 가져오는데, 한 행에는 다양한 형식을 가진 데이터가 존재한다. 이름은 문자, 학번은 숫자, 가입일은 날짜 등등. 그렇게 자료를 읽어오게되면 속도가 느린 반면 column 별로 자료를 읽게 되면 한 column은 데이터 타입이 하나 이기 때문에 빠른 속도로 자료를 불러올 수 있다. R에서의 데이터 프레임이 key-value 구조로 이루어졌다. c..
[실습문제] 2023. 11. 21.(화) (2문제) 실습문제 1. emp.csv 파일을 읽고 1) 10번 부서원의 이름을 출력하여라 2) 이름이 SMITH 또는 SCOTT의 이름, SAL, HIREDATE를 출력하여라 3) 10번 부서원 중 급여가 2000 이상이면서 입사일이 81년 8월 31일 이후인 사람의 이름, 입사일, 부서번호, 급여를 출력하여라 4) 월요일에 입사한 사람의 전체 컬럼 정보를 출력하여라(단, mgr, deptno 컬럼 제외) 이 문제에서 mgr, deptno 컬럼을 제외하기 위해서는 각 컬럼 위치를 하나씩 세어서 번호를 알아낸 뒤에 - 를 붙여야 했다. 선생님께서 더 편한 방법을 알려주셨는데 이는 아래와 같다. 여기서 이해가 안 되었던 게 대괄호의 콤마 뒤 컬럼을 불러오는 곳에서 항상 c를 붙이고 컬럼 이름을 불러왔는데, 이는 컬럼..
[복습] R(programming language) 의 자료구조(벡터, 데이터 프레임) + 복습후기(20231121) R의 자료구조에는, 0. 스칼라 1. 벡터 2. 리스트 3. 행렬 4.배열 5. 데이터 프레임 이 있다. 오늘은 벡터와 데이터 프레임에 대하여 배웠다. 이와 비교하여 먼저 스칼라란, 하나의 상수로 자료의 구조를 선택할 필요가 없다. 자료의 구조를 그릇이라고 가정했을 때 하나의 상수는 하나의 그릇에 굳이 담을 필요가 없는 것으로 이해하면 되겠다. 1. 벡터 벡터는 1차원(나열형)이다. 1차원은 단방향으로 축이 진행되는 것이다. 여러 개의 데이터를 담는 것이 목적이며, 단 하나의 데이터타입만 정의가 가능하다. Line 1 처럼 벡터는 c함수로 묶어서 선언하여야 하며, 단 하나의 데이터 타입으로만 정의가 가능하다. Line 3처럼 4를 문자로 묶어서 전달하게 되면, 모든 숫자들이 문자가 되어 전체 문자로 출력..
[복습] R(programming language) 변수 생성 및 형 변환 함수(as.character, as.numeric, as.Date, strftime, strptime) 변수란 값을 저장하여 선언하는 객체이다. R에서는 변수 선언 시

728x90
반응형