대량의 데이터 분석에 사용되는 툴은 여러 가지가 있다. 사실 빅데이터 시대가 도래하기 전인 2010년대 초반까지는 데이터의 요약값이나 기초 통계 값을 산출하고 간단한 그래프를 그리는데 가장 많이 사용된 툴은 MS-Excel일 것이다. MS-Excel은 그 시대 뿐아니라 지금까지도 기초적인 데이터 분석에 여전히 많이 사용되고 있는 툴이다. 스프레드 시트 프로그램의 대표적인 프로램인 MS-Excel은 위지윅(WYSIWYG: What You See Is What You Get) 형태로 데이터를 직접 눈으로 보면서 다룰 수 있기 때문에 데이터 분석에 익숙치 않은 사용자들도 비교적 손쉽게 사용할 수 있다는 장점이 있지만 반복적 작업을 할 경우 이 작업을 매번 실행해야 한다는 단점이 있다. 하지만 MS-Excel을 사용해서 데이터 분석을 해본 경험이 있다면 반복 작업에 대한 단점보다 더 크게 다가오는 치명적 단점은 데이터가 커지면 Excel이 먹통이 되어버린다는 것이다. 하지마
R을 사용하면 데이터를 확인하면서 데이터 분석을 하는 것은 다소 힘들수는 있지만 통계적 계산이나 머신러닝 계산등에는 매우 빠른 속도를 낸다. 그렇기 때문에 빅데이터 분석에 R이 많이 사용되고 있다. 하지만 R에도 단점이 따른다. 당연히 위지윅 환경으로 작업이 불가하다는 단점이 있겠다. 그 위지윅 환경이 지원되지 않음에 따라 어려운 작업 중에 하나가 특정 조건에 맞는 데이터를 변경하는 작업이다. 코로나19 데이터의 예를 들자면 특정 나라의 신규 확진자가 NA로 기재되어 있다면 해당 행을 제거할 수도 있겠지만 신규 확진자 열이 NA인 행의 신규 확진자 열 데이터를 0으로 바꿔야 할 수도 있다. 이런 경우 다른 데이터를 유지하면서 해당 데이터만 NA를 0으로 바꿀수 있을까? 그리고 또 만약 특정 국가의 데이터만 2배 해야한다거나 100을 더해야 한다면 어떻게 해야할 것인가? 열 데이터를 만들기 위해 가장 많이 사용하는 이처럼 특정 조건에 맞는 행의 특정 열 데이터만 바꾸는 방법 세 가지를 알아보자. 1. 행 인덱스를 사용하는 방법R을 배울때 기초적으로 배우는 것중에 하나가 바로 벡터나 데이터프레임의 데이터 접근시에 인덱싱을 사용하여 접근하는 방법이다. 인덱싱을 사용하여 데이터를 엑세스하는 방법은 다음의 예는 코로나19 샘플 데이터인 df_covid19의 신규 확진자열인 ’new_cases’열에 NA가 존재한다면 해당 데이터를 0으로 인덱스를 사용하여 바꾸는 방법이다.
인덱싱에 사용할 수 있는
만약 하나 이상의 열의 데이터를 변경하고자 할 경우 바꾸고자 하는 열 이름을
2. dplyr를 사용한 방법앞서 설명한 인덱싱 방법은 R의 가장 기초적인 방법이지만 사실 tidyverse 생태계의 2.1 mutate(), replace()앞서 설명한바와 같이
이를 방지하기 위해서
하지만
2.2 case_when()이렇게 값을 대입하는 경우가 아니고 식을 사용해서 계산을 하는 경우는
3. rbind()를 사용하는 방법R 사용자들이 익숙한
|