데이터프레임을 다룰 때 특정 속성을 가지는 변수를 원하는 속성으로 변환하고 싶을때는 코드를 어떻게 작성해야 할까? 초급/중급/고급으로 나누어서 살펴보도록 하자. Show 데이터는 ggplot2 패키지의 diamonds를 쓰도록 한다.
apply 계열 함수를 활용하여 각 변수의 속성을 확인하면 다음과 같다.
위 코드 관련 해설은 다음의 포스팅을 참고하도록 한다. 위에서 확인하였듯이 연속형 변수가 아닌 cut, color, clarity 변수를 대상으로 변환을 실시해보겠다. 초급속성을 바꾸는 함수는
일단 하나를 적용해본 결과는 다음과 같다. 이제 세 변수를 모두 처리하려면 다음과 같이 작성할 수 있다.
직접 문자로 지정하는 방법 말고 숫자로 하면 다음과 같이 할 수 있겠다.
중급초급 부분에서 마지막으로 작성한 코드를 다시 확인해보고 오자. 해당 코드는 숫자만 바꿔주면 되기 때문에 다음과 같이 반복문으로도 바꿀 수 있다.
그래도 데이터를 다루는데 dplyr 패키지가 빠질수는 없다. 다음과 같은 다양한 방법으로 접근할 수 있다.
첫 번째 코드는 dplyr 함수 중 변수를 선택하는 그런데 위 코드는 이미 2~4번째의 변수가 대상이라는 것을 인지하고 있기 때문에 작성할 수 있는 것이며, 좀 더 응용하면 다음과 같이 작성할 수 있다.
전체 변수의 속성을 훑으면서 특정 변수가 수치형(numeric)이 아닐 경우 변환하는 코드이다. 물론 수치형이 아니라 다른 조건을 넣으면 원하는대로 수정할 수 있겠다. 고급기본함수를 활용하여 범주형 자료를 한 번에 문자형으로 바꾸는 예제는 다음과 같다.
dplyr 패키지 버전은 다음과 같다.
이 경우는 대상 변수를 알고 있을 때 사용하는 방법이다. 이번에는
비슷한 함수로는 purrr 패키지의
여기서 좀 아쉬운 점은 |