RMySQL을 이용한 R과 MySQL 연동MySQL은 데이터베이스를 아는 사람이라면 한번쯤은 써봤을 데이터베이스관리시스템(RDBMS)입니다. 대량의 데이터를 효율적으로 저장하고 관리하는데 특화된 시스템입니다. 데이터는 DB파일로 저장됩니다.Rstudio도 데이터를 다루는 프로그램이어서 MySql과의 연동이 됩니다. Mysql과의 연동만으로도 데이터를 분석, 관리하기 좋은 환경이 되기 때문에 필히 알고 있어야 합니다. R의 패키지인 RMySQL을 통해서 MySQL 와 연동을 해보겠습니다. RMySQL 패키지 설치하기설치는 간단합니다.install.packges("RMySQL")library(RMySQL)RMySQL을 사용하면 데이터베이스의 주요기능인 DDL, DML을 할 수 있습니다. DDL,DML의 관..
R에서 리스트 벡터로 변환하기리스트도 데이터타입 변경처럼 as_*로 하면 되것같다고 생각하시는 분들 많으실 겁니다. 그런데 안타깝게도 as로 되지 않습니다.리스트는 리스트를 풀어주는 함수인 unlist() 함수를 통해 변경할 수 있습니다.몇가지 예시를 통해 확인해보시기 바랍니다.기본 리스트를 벡터로 변환하기# 리스트 생성my_list 혼합된 데이터 타입을 가진 리스트인 경우# 혼합된 데이터 타입을 가진 리스트 생성my_list 보시다시피 데이터 타입이 섞여있으면 모두 문자열로 변환됩니다.리스트가 중첩된 경우리스트 안에 리스트가 있는 경우 unlist() 하나로 모든 리스트가 다 풀려버립니다.# 중첩된 리스트 생성my_list 이름이 설정되어 있는 리스트인 경우# 이름이 있는 리스트 생성my_list 이름..
ggplot2를 이용한 데이터 시각화R의 강력한 시각화 패키지인 ggplot2에 대해 살펴볼까 합니다. ggplot2는 Hadley Wickham이 개발한 R 패키지로, "Grammer of Graphics"에 기반한 데이터 시각화 도구로 직관적으로 데이터 시각화를 구성하게 해줍니다.기본 구조ggplot2의 기본 구조는 다음과 같습니다.ggplot(data, aes(x,y)) : 데이터를 설정하고, x축과 y축에 매핑geom_*(): 그래프 형태 지정산점도 : geom_point()선 그래프 : geom_line()막대그래프 : geom_bar()히스토그램 : geom_histogram()상자 그림 : geom_boxplot()패싯(Facet) : facet_*각 그래프는 직접 보는게 가장 낫겠죠? mt..
새로운 열 추가 방법R을 이용한 새로운 열 추가 방법이 여러가지가 있어서 정리합니다.$ 연산자 사용가장 간단하게 할 수 있는 $를 이용하는 방법입니다.# 데이터프레임 생성df 인덱스를 이용한 방법[]에 새로운 인덱스(컬럼명)을 넣어서 추가합니다.# 데이터프레임 생성df cbind() 사용bind는 묶는다는 뜻이 있습니다. cbind() 는 '컬럼으로 묶는다'는 뜻으로 데이터프레임에 컬럼을 추가로 묶어 넣는다는 의미로 사용하고 있습니다.# 데이터프레임 생성df mutate() 함수 사용(dplyr)dplyr 에 내장된 mutate()를 이용하는 방법입니다.dplyr은 데이터프레임 조작시 많이 쓰는 툴인데요. 위의 3가지 방법처럼 R로 할 수 있는 걸 굳이 dplyr를 불러와 해야할까? 라는 의문이 들..
dplyr 패키지를 이용한 데이터 조작안녕하세요~ 이번 포스팅에서는 R의 패키지인 dplyr에 대해 이야기해보려고 합니다. dplyr은 데이터를 효율적으로 다루기 위해 만들어진 패키지로, 간결하고 쉬운 코드를 작성하는데 유용합니다. 특히, 파이프(%>%)를 이용한 코드가 가능하기 때문에 한번에 데이터 조작을 할 수 있습니다. 그럼 주요 기능들을 살펴보겠습니다.dplyr 패키지 소개dplyr은 Hadley Wickham이 개발한 패키지로, 데이터 프레임을 조작하는데 최적화되어 있습니다. 패키지 없이 R로 다 해결하려면 코드양이 많아지지만 dplyr 를 사용하면 코드량을 획기적으로 줄일 수 있습니다.주요기능은 다음과 같습니다.filter() : 행 필터링select() : 열 선택mutate() : 새로운 ..
데이터 변환이란?빅데이터 분석과정 중에서 데이터 변환은 정제된 데이터를 분석 목적에 맞게 만드는 과정을 말합니다. 그래서 데이터 변환 단계에서는 변수를 생성하거나 데이터 선택해 필요없는 데이터는 정리하면서 데이터 차원을 축소하는 작업을 하게 됩니다.R을 통해서 데이터 변환 작업을 어떻게 하는지 알아보도록 하겠습니다.데이터 타입변경데이터의 타입 정리가 되어있지 않으면 머신러닝이나 딥러닝을 할때 방해가 될 수 있습니다. 반드시 타입변경을 해주어야 합니다. 데이터 타입 변경에 대한 내용은 아래 포스팅을 참고하시기 바랍니다. [R] 데이터 타입 변경하기R에서 데이터 타입 변경하기R에서 데이터 타입을 변경하는 방법입니다. 데이터 분석 과정에서 데이터 타입을 올바르게 지정하는 것은 매우 중요합니다. 데이터 타입..
R 결측치 처리데이터 분석에서 중요한 단계 중 하나인 데이터 정제 및 전처리에 대해 얘기해보려고 합니다. 데이터 정제는 원데이터를 분석하기 쉬운 데이터로 만드는 과정으로, 데이터의 품질을 높이고 분석 결과의 신뢰성을 보장합니다. 이 중 결측치 처리에 대해서 보겠습니다.결측치 확인먼저, 결측치를 확인하는 방법을 알아봅시다. is.na() 함수를 사용하면 데이터 프레임 내의 결측치를 확인할 수 있습니다. data를 만들어서 진행해보겠습니다.data 결측치 제거하기1. 결측치가 포함된 행 전체 제거na.omit() 함수를 이용하면 결측치가 포함된 행을 전체 제거합니다.clean_data 2. 결측치가 없는 행만 선택complete.cases() 함수를 사용해 결측치가 없는 행만 선택할 수도 있습니다. na.o..
R에서 데이터 타입 변경하기R에서 데이터 타입을 변경하는 방법입니다. 데이터 분석 과정에서 데이터 타입을 올바르게 지정하는 것은 매우 중요합니다. 데이터 타입이 올바르지 않으면 원하는 분석 결과를 얻기 어렵기 때문이죠. 그럼, R에서 데이터 타입을 변경하는 다양한 방법을 함께 살펴보겠습니다.1. 기본 데이터 타입R에는 여러 가지 기본 데이터 타입이 있습니다. 주요 데이터 타입은 다음과 같습니다:numeric: 실수형 데이터 (예: 1.5, 2.7)integer: 정수형 데이터 (예: 1, 2, 3)character: 문자열 데이터 (예: "a", "hello")factor: 범주형 데이터 (예: "male", "female")logical: 논리형 데이터 (예: TRUE, FALSE)2. 데이터 타입 확..
R로 데이터 불러오기와 저장하기이번 포스팅에서는 R을 사용해 데이터를 불러오고 저장하는 방법에 대해 이야기해보려고 합니다. 데이터 분석의 첫 걸음은 데이터를 준비하는 것에서 시작하죠. R에서는 다양한 형식의 데이터를 쉽게 불러오고, 분석 후 저장할 수 있습니다. 엑셀파일,html, 데이터베이스, rds 파일 4가지에 대해서 저장, 불러오는 방법에 대해 하나씩 살펴보겠습니다. 데이터 불러오기1. CSV 파일 불러오기CSV(Comma Separated Values) 파일은 가벼워서 흔히 사용하는 데이터 파일 형식 중 하나입니다. R에서는 read.csv() 함수를 사용해 CSV 파일을 쉽게 불러올 수 있습니다. 예를 들어, "data.csv"라는 파일을 불러오려면 다음과 같이 합니다.data read.csv..
R로 ROC 곡선 분석하기R에서도 머신러닝이 되는만큼 모델 평가 중 하나인 ROC 곡선 분석을 할 수 있습니다. pROC 패키지로 가능한데요. 다만, pROC패키지는 2진 분류만 가능합니다.예제로 간단하게 iris 데이터를 이진분류를 한 후 ROC 곡선으로 평가해보겠습니다.iris를 이용한 ROC 곡선 평가먼저, iris는 세가지 클래스(setosa,versicolor,virginica)를 포함하고 있으므로, 두개의 클래스로 변환후 이진 분류를 수행합니다. roc는 0,1로 된 범주형 변수로 되어야 하므로 맞게 변환합니다. # 필요한 패키지 로드 library(pROC) # versicolor와 virginica만 선택 iris_binary versicolor,virginica 으로 나누..
R로 웹 스크래핑하기R을 사용해 웹 스크래핑을 하려면 rvest라는 패키지를 사용합니다. rvest는 HTML 문서를 파싱하고 데이터를 추출하는 패키지로 간편하게 웹 스크래핑을 할 수 있습니다.R을 활용한 간단한 웹 스크래핑을 단계별로 보여드리겠습니다.1. 패키지 설치 및 로드R은 패키지 설치가 잘 안될 수도 있는데 혹시 패키지 설치가 잘 안된다면 아래 포스팅에서 해결을 해보시기 바랍니다. R studio 패키지 설치 오류 모음R은 패키지 설치가 너무 어렵다R은 깔끔하게 코드를 작성할 수 있어 좋은데 호환성이 너무 안좋습니다. 조금만 엇나가면 바로 안됩니다. 힘드네요. 특히 패키지 설치로 애를 아주 많이 먹었습니seong6496.tistory.com rvest를 설치한후 불러옵니다.install.pac..
R은 패키지 설치가 너무 어렵다R은 깔끔하게 코드를 작성할 수 있어 좋은데 호환성이 너무 안좋습니다. 조금만 엇나가면 바로 안됩니다. 힘드네요. 특히 패키지 설치로 애를 아주 많이 먹었습니다.보통 R이 한글 인식이 안되는데 윈도우 계정을 한글로 하는 경우가 대부분인데 그것 말고도 여러 문제가 있습니다.쓰기 권한이 없다다음과 같은 오류가 날 수 있습니다.해당 경로가 쓰기 형식이 아니므로 library폴더에 쓰기권한을 주라는 얘기입니다. 즉, 쓰기 권한의 문제입니다.실제 폴더 속성에 가보면 쓰기허용이 체크되어 있지 않습니다.하지만 관리자권한은 쓰기 권한이 되어 있습니다. 그렇다면 Rstutio를 관리자 권한으로 실행하면 된다는 얘기니 관리자 권한으로 일단 실행을 합니다.Rstudio 바로가기에서 다음과 같이..
독립표본 t검정독립표본 t검정은 두 개의 독립된 모집단의 평균을 비교할 때 사용하는 검정방법입니다.예를 들어, 성별에 따라 공부 성취도가 다른지를 검정한다고 할 때 서로 독립적인 남,여에 대해서 통계적 검정을 하기 위해 독립표본 t검정을 사용합니다. 이때, '성별'이 독립변수, 종속변수는 '공부 성취도'가 됩니다. 두 가지 교육 방법(A,B)에 대한 학생들의 시험 성적에 미치는 영향을 통계적으로 검정해보는 예제입니다.독립표본 t검정을 수행하려면 등분산검정 시행후 수행하게 됩니다.일반적으로 등분산검정은 F-test를 시행하는데 R에서 F-test 등분산검정 메쏘드는 다음과 같습니다. var.test(x,y,alternative) : 모집단1,모집단2 적용시var.test(formula,data,altern..
R을 이용한 대응표본 t-검정대응표본 t검정은 단일 모집단에서 두 개의 표본집단을 만들었을때, 그 두개에 대한 평균의 차이를 비교합니다.예를 들어 수면약을 만들었을 때 이 수면약이 효과가 있는지 확인하고 싶어 치료전후 결과를 비교합니다. R을 이용해 대응표본 t검정을 실시하려면 t_test() 메쏘드를 사용해야 합니다.여기서 t_test() 메쏘드에 대한 파라미터를 잠깐 살펴보겠습니다. t.test(x,y,alternate=c("two_sided","less","greater"),paired=FALSE,m=0)x : X의 관측값(수치형 벡터)y : Y의 관측값(수치형 벡터)alternative양측검정 : two-sided단측검정 : less($\mu_x \mu_y$ ), $\mu_x$ 는 X의 평균, $..
R을 다루시는 분들은 주가 데이터를 가져와 분석을 하고 싶을텐데요. 하지만, R로 주가 데이터를 가져오는 게 생각보다 번거롭습니다. DB나 CSV로 저장해놓거나 하둡을 이용하거나 해서 이미 데이터베이스 구축이 되어있다면 문제가 없지만 당장 가져오는 것은 사실상 어렵습니다. 만약 주가 데이터를 가져온다하면 크롤링이나 api로 데이터베이스에 저장후 불러오는 방식을 반복해야 합니다. 즉, api 또는 크롤링 실행 -> 주가 데이터 데이터베이스에 저장 -> Rstudio에서 불러오기 -> 데이터분석 시작 의 순서를 반복해야 합니다. 불편한 점은 외부의 api를 따로 불러서 데이터를 저장하는 일을 해야하는 것인데 한번에 R에서 할 수 있다면 일이 줄어들어 굉장히 편해질 것 같습니다. 다행히도 tqk라는 패키지를 ..