R 팁: strsplit 대신 read.table로 텍스트 컬럼을 여러 컬럼으로 분할하기

R-Blogger · 블로그·해설 · 2009-05-18

R-Blogger블로그·해설한국어2009-05-18

R 팁: strsplit 대신 read.table로 텍스트 컬럼을 여러 컬럼으로 분할하기

IP 주소 정렬을 위한 간단한 R 솔루션 R-help 메일링 리스트에서 IP 주소(예: 1.10.100.200)가 포함된 열을 가진 데이터 프레임을 정렬하고 싶다고 하는 사람이 있었습니다. 저는 strsplit()을 이용한 방법을 제안했으나, Peter Dalgaard께서 텍스트 연결 객체에 read.table를 적용한 훨씬 깔끔한 방법을 제시하셨습니다. 예시 코드: ip_tbl <- read.table(textConnection(df$ip_column), sep = ".", colClasses = "integer") sorted_df <- df[order(ip_tbl$V1, ip_tbl$V2, ip_tbl$V3, ip_tbl$V4), ] 위 코드에서는 textConnection()을 통해 IP 문자열을 줄 단위로 읽고, read.table()을 이용해 점(.)을 구분자로 정수형 열로 변환합니다. 이후 order()에 각 열을 차례대로 넣어 원본 데이터 프레임을 정렬합니다. 이 방식은 strsplit() 보다 메모리 사용량과 실행 시간이 덜 드는 편이며, IP 주소를 숫자 벡터로 바로 변환해 정렬할 수 있어 직관적입니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2009-05-18