데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      R언어에서 외부데이터를 활용하는 방법 (feat. excel/csv/rds 파일 활용)

      매직 21.09.30
      4,327 3 0

      블로그 목적 

      • R언어에서 외부데이터를 활용하는 방법을 정리및 공유한다.

       

      블로그 요약

      • 데이터 프레임(Data Frame)에 대해서 정리해본다.
      • Excel 파일을 활용하는 방법에 대해서 정리해본다.
      • CSV 파일을 활용하는 방법에 대해서 정리해본다.
      • RDS 파일을 활용하는 방법에 대해서 정리해본다.

       

      블로그 상세 내용

      우선, 데이터프레임(Data Frame)에 대해서 정리해보겠습니다.

      • 데이터프레임은 R언어에서 가장 많이 사용하는 데이터 형태입니다.
        • 데이터프레임의 데이터 형태를 알아보면, 행/열로 구성된 사각형모양의 표를 생각하시면 됩니다.
      • 별명 순위 점수
        magic1 1 500
        magic2 2 300
         
        • 설명
          • 위의 표는 3행 3열로 구성된 데이터 프레임입니다.
            • 행은 2명의 자료임을 알 수 있고
            • 열은 별명/순위/점수 3가지 속성으로 되어 있음을 알 수 있습니다.
      • 데이터 프레임의 특징에 대해서 정리해보면,
        • 한 구성원의 데이터는 가로 한줄에 나열됨을 확인할 수 있습니다.
      • 우리는 데이터 프레임을 보면서, "데이터의 크기"을 말하곤합니다.
        • 행이 많다든가, 열이 많다든가 말이죠..
          • 행이 많을 경우
            • 처리시 컴퓨터가 느려지게되면, 고사양 장비를 구축하면 됩니다.
          • 열이 많을 경우
            • 분석방법의 한계가 오게되면, 고급 분석 방법으로 난관을 풀어나가면 됩니다.
      • 그리고, 데이터 분석가의 입장에서 데이터 프레임을 보면, 행보다 열이 많은것이 중요합니다.
        • 즉 열이 많아지면, 변수를 조합할 수 있는 경우의 수가 늘어나게 됩니다.
      • 그럼, 데이터 프레임을 한번 만들어 볼까요?
      #변수 만들기
      nickname <- c("magic1", "magic2")
      ranking <- c(1,2)
      score <- c(500,300)
      
      #데이터 프레임만들기
      df_exam <- data.frame(nickname, ranking, score)

      • 설명
        • 위와같이, 우선 변수를 만들고나서, frame 함수를 통해서 데이터프레임을 생성할 수 있습니다.

       

       

      다음으로 Excel 파일을 활용하는 방법에 대해서 정리해보겠습니다.

      • Excel 파일을 불러오는 방법에 대해서 정리해보면 아래와 같습니다.
      • 하나, 사전작업으로 아래와 같이 액셀예제파일을 준비합니다.
        • excel_frame.xlsx

      • 둘, readxl 패키지를 설치하고 로드후 read_xlsx 함수를 통해서 액셀파일을 불러옵니다.
      .libPaths("E:/0.dev/15.dev-r-project/Library")
      install.packages("readxl")
      library(readxl)
      install.packages("Rcpp")
      library(Rcpp)
      
      df_exam_excel <- readxl::read_xlsx("excel_frame.xlsx")
      
      • 아래는 해당 결과입니다. (정상적으로 불러와졌네요...)

      • 셋, 데이터를 불러오기는 성공했고, mean() 함수를 통해서 점수(score)의 평균을 구해보겠습니다. 
      mean(df_exam_excel$score)
      • 아래와 같이 점수(score) 의 평균 값이 구해짐을 확인할 수 있었습니다.

       

       

      이번에는, CSV 파일을 활용하는 방법에 대해서 정리해보겠습니다.

      • 참고로, CSV(Comma-separated Values) 파일은 엑셀을 비롯해서, SAS, SPSS등 데이터를 다루는 대부분의 프로그램에서 읽고 쓰기가 가능한 범용 데이터 파일이라고 생각하시면 됩니다.
      • CSV 파일을 불러오는 방법에 대해서 정리해보면 아래와 같습니다.
      • 하나, 사전작업으로 아래와 같이 CSV 예제파일을 준비합니다.

      • 둘, read.csv() 함수를 통해서 액셀파일을 불러옵니다.
      df_exam_csv <- read.csv("csv_frame.csv")
      •  아래는 해당 결과입니다. (정상적으로 불러와졌네요...)

       

       

      마지막으로, RDS 파일을 활용하는 방법에 대해서 정리해보겠습니다.

      • 참고로, RDS파일은 R 전용 데이터 파일을 말합니다.
      • RDS의 특징에 대해서 말씀드리면...
        • 하나, R전용 파일이기때문에 일반파일에 비해서 R에서 읽고쓰는 속도가 빠르며, 용량이 작다는 특징을 가지고 있습니다.
        • 둘, 보통 R에서 분석작업을 할때는 RDS 파일을 사용하고, R을 사용하지 않는 사람과 파일을 송수신할때는 CSV 파일을 이용합니다.
      • 우선, RDS 파일을 저장하는 방법에 대해서 정리해보면 아래와 같습니다.
        • saveRDS함수를 통해서 RDS 파일을 저장합니다.
      saveRDS(df_exam, file="rds_frame.rds")
      • 아래와 같이 RDS 파일이 저장되었음을 확인할 수 있었습니다.

      • 추가적으로, RDS 파일을 불러오는 방법에 대해서 정리해보면 아래와 같습니다.
        • readRDS함수를 통해서 RDS 파일을 불러옵니다.
      df_exam_rds <- readRDS("rds_frame.rds")
      • 아래는 해당결과입니다. (정상적으로 불러와졌네요..)

       

      결론

      • 하나, 데이터프레임은 R언어에서 가장 많이 사용하는 데이터 형태입니다.

        • 데이터 형태를 알아보면, 행/열로 구성된 사각형모양의 표를 생각하시면 됩니다.
        • 별명 순위 점수
          magic1 1 500
          magic2 2 300
      • 둘, 이제까지 Excel / CSV / RDS 파일들을 활용하는 방법을 알아봤습니다.

      • 오늘도 마지막까지 제 글을 끝까지 읽어주셔서 진심으로 감사드리고, 제 글이 조금이라도 여러분의 각자의 삶을 살아가시는데 도움이 되셨길 기원합니다.

      • 앞으로도 더욱 좋은 블로그를 남기는 제가 되도록 노력하겠습니다.

       

       


      나의 목표 및 다짐을 항상 내곁에 두기

      • 목표
        • 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.
        • 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기
        • 나는 블로그 생태계에서 IT 테크관련 파워블로거가 반드시 된다!
      • 목표를 이루기 위한 실천방안
        • 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.
        • 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.
          • "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."
        • 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)
          • 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.
        • 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.

      #R
      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      매직 님의 최신 블로그

      더보기
      동영상 기고하기