본문 바로가기

나 취준생

(163)
R 그룹 함수 + 막대 그래프 # 그룹 함수 Oracle vs R 1. max max2. min min3. sum sum4. avg mean5. count length (세로) table (가로) 예제 : 최대 월급을 출력 max(emp$sal) 예제 : 직업이 SALESMAN인 사원들의 최대 월급을 출력! result select job, max(sal) from emp group by job; R> aggregate( sal~job, emp, max ) 문법 : aggregate(계산될 컬럼~그룹 기준을 가진 컬럼, 테이블명, 함수명) 예제 : 부서번호, 부서번호별 토탈 월급을 출력하시오 ! SQL> select deptno, sum(sal) from emp group by deptno; R> aggregate( sal~deptn..
R 함수 [문자 함수, 숫자 함수, 날짜 함수, 변환 함수, 일반 함수] # 함수 종류 1. 문자 함수2. 숫자 함수3. 날짜 함수4. 변환 함수5. 일반 함수 # 문자 함수 오라클 vs R upper toupperlower tolowersubstr substrreplace gsub 예제 : 이름과 직업을 출력하는데 소문자로 출력 library(data.table)data.table(이름=tolower(emp$ename), 직업=tolower(emp$job) ) 예제 : 이름을 출력하고 그 옆에 이름의 첫번째 철자부터 세번째 철자까지 출력 문법 : substr( 변수, 시작, 끝 ) SQL> select ename, substr(ename, 1, 3) from emp; R> data.table( 이름=emp$ename, 철자=substr(emp$ename,1,3) ) 예제 :..
R 데이터 조회, [논리 연산자, 비교 연산자] # R이란? 데이터 분석을 위한 통계 및 시각화를 지원하는 무료 소프트웨어파이썬과 비교해서 장점 : 데이터 시각화가 R이 더 예쁘다. # R을 왜 사용하는지 1. R은 공짜2. 데이터 분석을 위해 가장 많이 사용하는 통계 플랫폼3. 복잡한 데이터를 다양한 그래프로 표현 가능4. 분석을 위한 데이터를 쉽게 저장하고 조작할 수 있다.5. 누구든지 유용한 패키지를 생성해서 공유할 수 있고, 새로운 기능에 대한 전파가 빠름6. 어떠한 os에도 설치 및 이용 가능 ( 아이폰에도! ) # R의 자료구조 1. vector : 같은 데이터 타입을 갖는 1차원 배열 구조 2. matrix : 같은 데이터 타입을 갖는 2차원 배열 구조 3. array : 같은 데이터 타입을 갖는 다차원 배열 구조4. data.frame ..
토이 프로젝트 - 사람인 '데이터 분석'을 분석 3 두번째 주제- 경력이 오를수록 지원할 수 있는 기업 형태 수 차이- 경력이 오를수록 지원할 수 있는 기업의 연봉 차이 데이터 분석가 채용 공고를 보면서 느낀 점은 경력직을 정말 선호한다.사실 내가 수집한 데이터도 '채용 기준'일 뿐이라서, 우대 사항에 써있는 경력직 선호까지는 담지 못했다.도대체 경력직은 시간이 지날수록 얼마나 많은 데이터 분석가 업무를 지원할 수 있을까?한 번 시각화해보자. 1. 경력 - 기업 형태 # 사용할 데이터 이런 느낌의 테이블이다.예를 들면 신입(경력없음)이 지원할 수 있는 대기업의 수는 40곳이며,6개월의 경력이 생기면 62곳을 지원할 수 있게 된다.데이터는 총 10년차까지 이루어져있다. 그럼 시각화를 시작해보자. # 코드 일부만 작성 sql = """ select compa..
토이 프로젝트 - 사람인 '데이터 분석'을 분석 2 첫번째 주제 - 기업 형태별 제공하는 복리후생의 특징은 무엇인가? - 공통적인 복리후생은? 테이블에는 보기와 같이 약 20개 종류의 기업 형태가 있다. 그리고 다음과 같은 형태로 테이블이 구성되어 있다. A1~H11까지 welfare가 있는데, 코드마다 복리후생의 종류를 의미한다. 예를 들어 A1은 건강검진, A2는 의료비 지원을 뜻한다. 그러므로 첫번째 행은 신입(무경력)이 지원할 수 있는 대기업 중 건강 검진을 지원하는 곳은 14곳이라는 것을 의미한다. 그럼 기업 형태 별로, 복지별로 구분했을 때 어느 형태의 기업이 어떤 복지를 가장 많이 지원하고 있는지 알아보았다. 테이블에서 가장 높은 경력은 5년차이다. 5년차로 따로 한정한 이유는, 신입이 지원할 수 있는 기업과 경력직이 지원할 수 있는 기업이 ..
토이 프로젝트 - 사람인 '데이터 분석'을 분석 지금까지 파이썬, SQL, 리눅스와 각종 툴을 조금 배워봤으니 배운 것들을 활용해서 데이터 분석의 전반적인 흐름을 정말 미흡하게나마 해보고자 정말 작은 프로젝트를 시작하게 되었다. # 내가 생각하는 데이터 사이언스 업무 과정 문제 설정 - 스킬 활용 - 문제 해결 과정 ( 데이터 수집 - 데이터 분석 - 분석 결과 도출 - 결과 시각화 ) # 내가 선택한 스킬 1. 데이터 수집 - 파이썬 크롤링 2. 데이터 분석 - SQL 3. 분석 결과 시각화 - 파이썬, R 추가적으로 리눅스 서버를 활용하기 위해 Centos7을 통하여 MariaDB를 연동 # 프로젝트 주제 캐글에 다양한 자료들이 있었지만, 내가 알아보고 싶은 흥미로운 주제를 찾지 못했고, 또 뭔가 내 주변의 일상적인 문제를 주제로 삼고 싶었다. 지..
scala에서 sql문을 실행한 결과를 파이썬에서 사용하기 리눅스 내에 있는 scott 계정의 공유 폴더를 통해 들어있는 Case.csv 파일을 파이썬에서 시각화하기 먼저 리눅스에서 cd /home/scottcp Case.csv Case.txt# csv 파일을 txt 파일로 복사 spark-shell# scala 접속 scala>val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)# sql 문법을 사용하겠다. sqlContext.sql("""create table IF NOT EXISTS doong(caseid int, province string, city string, group string, infection string, confirmed int, latitude float, longitude f..
spark에 테이블 올리고, SQL 수행하는 법 어제 테이블 생성 과정 중 sqlContext.sql("LOAD DATA LOCAL INPATH '/home/scott/emp2.txt' INTO TABLE emp")에서 오류가 계속 떠서 실패했었는데 원인을 알았다. spark에서 치명적인 오류가 발생하면 안전을 위해서인지 특정 작업을 못하게 막아버려서spark를 껐다가 다시 켜야한다. # spark 재접속 하는 법 리눅스 작업환경에서 시작 스파크의 sbin 디렉토리로 이동 cd /home/scott/spark/sbin ls start-all.sh , stop-all.sh 가 정상적으로 있는지 확인 stop-all.sh #껐다가 start-all.sh #키기 spark-shell # spark 접속 val sqlContext = new org.apach..