최근에 데비안12 를 설치했었는데, 설치당시 Gnome GUI 인터페이스를 체크하여 설치를 진행했었다. 저사양PC를 조금 더 사용하려고 리눅스OS를 설치한건데, 생각보다 버벅임이나 느려지는 현상이 많았다. 그래서 구글링을 좀 해보니, Xfce 가 더 가벼운 GUI 환경이라고 해서 재설치를 했다. 결과는 만족스러웠다. 저사양 노트북에는 Xfce 로 설치하는게 좋을거 같다.
[더 읽기]R프로그래밍 - 한글을 소리나는대로 영어로 변환하기
R 언어에서 stringi는 문자열 처리를 위한 강력한 패키지 중 하나이다. 이 패키지는 다양한 문자열 연산을 수행하는데 사용되며, 유니코드 문자열, 정규표현식, 문자열 분할, 결합, 변환 등 다양한 기능을 제공한다. 그 중에 한글을 소리나는대로 알파벳으로 변환하는 기능을 알아보려 한다.
(ggplot2) SF 패키지 공간 관계 표현하기
sf 패키지는 공간 영역간에 겹치는 부분, 혹은 그 특정 경계내에만 위치하는 특정 공간을 표시하는 등의 공간간 연산 작업을 아주 쉽게 수행할 수 있도록 기능을 제공하고 있다. 예를 들어 특정 프랜차이즈 가맹점을 전국 지도에 x 로 모두 표시했는데, 서울 영등포구안에 있는 가맹점만 지도에 표시하고 싶을 때, sf 패지키의 공간간의 관계연산을 통해 쉽게 필터링 할 수 있다.
MongoDB 데이터간 JOIN 방법($lookup)
MongoDB 가 하나의 컬렉션안에 다양한 계층과 릴레이션 관계를 JSON 으로 구조화 할 수 있긴 하지만, 결국에는 collection 간에 데이터를 조인(JOIN) 해야 하는 니즈는 생기기 마련이다. aggregate 함수에서는 $lookup 기능을 이용하여 컬렉션간에 데이터를 JOIN 할 수 있다.
MongoDB aggregate 함수로 피벗테이블(pivot) 만들기
회원정보, 수납내역, 일정관리 등 간단한 사이트를 개발한 적이 있는데, MongoDB 를 사용하여 데이터를 관리하고 있다. 월별로 수납정보를 피벗테이블 형태로 바꾸어 보여줘야 할 일이 생겼다. MongoDB 의 aggregate 함수를 이용해서 구현할 수 있었는데, 생각보다 소스가 너무 길어져서 mongoDB 를 괜히 사용했나 싶은 생각까지 들었다. 그 힘들었던 과정을 스탭별로 정리하기로 했다.
(ggplot2) 지도 여러개를 하나로 묶어 그리기
저번 포스팅에서 외식비 관련해서 지도 그래프를 하나만 그렸었었다. 그런데 외식비 통계에 보면 냉면, 비빔밥, 삽겹살 등 종류가 다양하기 때문에 종류별로 지도를 하나로 묶어 표현하는게 좋을거 같았다. shp 지도파일만 있으면 ggplot을 이용해서 여러 그래프를 한판에 그릴 수 있다.
[더 읽기](ggplot2) 지도에서 지역별 경계 합치기
한국소비자원에서 외식비 관련 통계를 가지고 지도그래프를 그릴까 했는데, 데이터에 세종시가 없었다. 내가 받은 shp 지도파일은 세종시가 별도로 있다보니, 충남지역에 넣어 경계를 합쳐야만 했다. sf 패키지에서는 영역을 합칠때, st_union 을 사용하면 된다. (ggplot2) 벤다이어그램 그리기 포스팅에 사용법을 정리해놓았다.
[더 읽기](ggplot2) scales 패키지 사용 예제
scales 패키지는 ggplot2에서 사용되는 스케일 조정을 위한 일련의 함수들을 포함하고 있다. 이 패키지는 그래프의 축, 색상, 크기 등 다양한 속성들을 효과적으로 조절할 수 있도록 도와주며, 일반적으로 ggplot2 그래픽을 더 세밀하게 제어할 때 유용하다. 어떻게 기능이 동작하는지 예제만 봐도 이해가 된다.
(ggplot2) x/y 축 레이블 스케일(단위) 변경하기
그래프를 그리다보면, 가장 어려운 부분 중 하나는 데이터 값을 인식 가능한 속성이나 단위로 변환하는 것이다. scales 패키지는 ggplot2에서 스케일링 기능을 제공하며, 기본 나누기, 레이블, 변환 및 팔레트를 재정의할 수 있는 도구를 제공한다. 아래 코딩예시들은 Label numbers in decimal format 문서의 예시를 참고하였다.