데이터 프레임에도 sql 쿼리와 다르지만 업데이트 하는 것이 있다. 데이터 프레임에서 데이터 업데이트 할 케이스는 여러가지 케이스가 있는데, 예를 들자면, 수없이 많은 모델을 업데이트를 할 필요성이 있을때가 있다. 그런데, 바로 업데이트 하면 되는데, 데이터 프레임을 하나 더 만들어서, 업데이트 된 값은 join해서, 데이터를 대치 시킨다. 물론 부분적으로 데이터 업데이트 할 경우에는 더욱 더 많은 과정이 필요하다.
실무에서 많이 사용하는 날짜 정리 R lubridate 시작일, 종료일
실무에 있어서 과거의 실적을 가지고, 정기적으로 예측 한다고 하자. 데이터 예측을 할 때는 무조건 기간이 길다고 데이터가 전부 fittng 화 되는 것은 아니다. 상황에 따라서는 일정기간을 주어진 상태에서 예측 할 수 있다.
이럴 때 날짜 정리가 제대로 되어 있지 않다면, 프로그램 정리하는데 시간이 많이 걸린다. R에서는 가장 많이 쓰이는 자료 이므로 반드시 아는 것이 좋다.
문자 데이터 파싱 및 데이터 프레임 변환 후 분석 stringr
설비를 교체를 검토 할 때, 항상 필요한 것이 있다. 최근에 어떤 부위에 얼마만큼 고장 났고, 생산에 문제가 있는지 분석 해야 한다.
이 때 필요한 것은 문자열 분석이다. 설비 전체를 교체 할 경우에는 전체적인 고장의 경향을 보면 되는데, 부분 교체 건은 보전 반장이 입력한 보전작업일보의 텍스트로 분석해야 한다.
R 실전 문자열 나누기 str_split[문자열과 패턴 벡터화], str_replace , gsub [문자열과 패턴을 바꿈] - 내역에서 규격을 추출하여 정리 하고 싶은 경우 실전예제]
str_split은 문자열과 패턴을 벡터화 하는 것으로, 문장에 있는 단어를 벡터 형태로 분리 하는 것이고, str_replace는 특정 문자열과 패턴을 바꾸어 주는 기능 이며, gsub는 특정 문자열과 패턴을 바꾸어 주는 기능으로써, str_replace와 기능은 거의 같다. 국내에서 일반적으로 용어를 나용할때, 문자열 나누기라고 한다.
아래의 내용은 현업 실무에서 어려운 문제에 봉착 했을 때, 푸는 문제이다. 즉 아래의 내역을 보고, 몇 톤인지 규격을 뽑아 내는 것을 응용하는 것인데, 형태소 분석기에서는 아래와 같은 기능을 지원 하지 않는다.
str_split, str_replace, gsub R |
R 중급 한글 인코딩 셋 에러 난 것 ????? 문자열 검색 정규화 표현식
Linux R에서 사용하는 기본적인 인코딩 셋은 UTF-8 이다. 하지만, 엑셀은 CP949 이다. DB 엔진은 EUC-KR이다. 이런 경우는 매우 특수한 경우인데, 데이터 마이그레션 과정중에서 CP949인코딩 셋 데이터를 변환하지 않고, EUC-KR에 잘못 넣으면, 내역이 아래 그림과 같은 오류가 발생 한다.
> # 한글 인글 인코딩 깨진것 검색 > library(stringr) > library(dbplyr) > Search <- data.frame(text = c("한글 인코딩 깨진것 검색","??????/COMP ????[??]", "equi" )) > Search %>% filter(str_detect(text, "한글")) text 1 한글 인코딩 깨진것 검색
# 오류 내용
> Search %>% filter(str_detect(text, "?")) 에러: Problem with `filter()` input `..1`. ℹ Input `..1` is `str_detect(text, "?")`. x Syntax error in regexp pattern. (U_REGEX_RULE_SYNTAX, context=`?`) Run `rlang::last_error()` to see where the error occurred. > Search %>% filter(str_detect(text, '\\?')) text 1 ??????/COMP ????[??] > localeToCharset() [1] "UTF-8" "EUC-KR"
위의 녹색과 같이 정규화 표현식을 찾아서 걸러 내는 방법이 있다. 일반적으로 많이 쓰이는 기능이니, 이것을 활용 하면 매우 좋다.
R 중급 ggplot2 New York Taxi cabs 그래프 그리기 [ part 2, 택시 운행 거리, 택시 운임]
R 중급 ggplot2 New York Taxi cabs 그래프 그리기 [ part 1, 택시 운행 횟수, 운행기간]
역시 ggplot2는 다른 툴에 비해서 매우 뛰어난 시각화 기능을 가지고 있다. 실제 실무 사례에서도 많이 쓰일 수 있는 데이터 셋과 그래프로 구성 되어 있다.
글을 쓰고 있는 나도, 예전에 사내 주유소 시스템 만들어서 요일별, 시간 대별 주유 횟수를 그려, 그래프를 개발자에게 그려 달라고 하여, 기능을 사용하였다. 그 때 당시에는 굉장히 신기 했는데, 지금 ggplot2에서는 데이터만 있으면 아주 쉽게 이용 할 수 있다.
뉴욕 택시 데이터 셋 ggplot2 |
아래는 UCSanDiego 분석한 뉴욕 택시 자습서(New York Taxi cabs) 그래프 그리는 것이다.
이것은 쉽게 설명 하려고, 스크립트 코드를 길고 자세 하게 구성 하였다.
css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소
앞에서는 html의 간단한 sheet를 소개 하였습니다. html은 주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다. 아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다. body 부분의 css 코딩 ...
-
KoLNP 로딩하면 아래와 같은 메시지가 나올 경우가 있다. warning message: in i.p(...) : 패키지 ‘c:/users/rdmkyg/appdata/local/temp/rtmps6vlku/file23e45dd83537/konlp...
-
논리연산자 AND,OR는 실무에서 많이 쓰이는 방법이다. R을 처음 시작 하는 컴퓨터 프로그래머는 for문을 많이 사용한다. 하지만 R에서 for문은 속도 측면에서 최악이다. 그리고 AND, OR, IF 문도 for문을 돌리지 않고 dpl...
-
통계학에서 베이블 분포(Weibull distribution)는 연속확률 분포로써 고장 확률에 대한 예측에 대하여 많이 쓰인다. 신뢰도를 측정하는데 많이 쓰이는데, 시스템 혹은 부품이 작동을 시작하여 그 시점까지 고장 나지 않고 여전히...
-
caret은 대표적인 머신러닝 패키지이다. 이것이 있어서, R에서는 파이썬 보다 좋은 경쟁력을 가지고 분석 할 수 있다. 즉 파이썬에서 경쟁력이 있는 것은 비정형 자료 즉, 이미지, 문자, 음성등 과 같은 것이다. 개인 적으로는...
-
R 환경 설정 파일에서 반드시 쓸 일이 있다. 오라클 한글 인코딩 설정 할 때 꼭 필요 한데, 이 부분을 잘 몰라서, 우리 회사 서버 팀과 같이 서로 고생들만 하였다. 어찌 되었든 이 부분에 대한 개념은 매우 중요 하니, 아래와 같이 이...
-
DB에서 데이터를 받든 엑셀로 데이터를 받으면, 데이터의 성질을 본다. 데이터 성질 본다음에 나는 as.charater, as.factor, as.integer 등 문자, 숫자, 범주형 데이터로 바꾼다. 나중에 머신러닝을 하던...
-
R 하고 Python을 같이 사용하게 되면, 두개의 문법이 매우 헤깔리다. 헤깔린 부분을 해결하려면, 나름대로 기록이 필요하다. R에서는 paste 또는 paste0로 하지만, Python은 문자열 + 문자열로 한다. 문자열을 그대...
-
Rstudio는 2009년에 개발 되었고, 처음 안 것은 2017년도 되었다. 어찌 되었던 학부에서 통계학을 배우고 있을 때는 2000년대 였으니, 콘솔을 사용한 R을 사용하였는데, 데이터 읽어 오는데, 많이 고생한 기억이 난다. ...
-
Windows R은 관리자 권한으로 실행하지 않으면 패키지도 로딩이 안되고, 제대로 패키지를 설치 할 수 없다. 따라서 제대로 설치 하고 실행 하려면, 아래와 같이 관리자 권한으로 실행 하여야 한다. 1.아이콘에서 관리자 권한 실행 법 ...
-
Windows 버전에서는 패키지 설치가 아주 쉽지만, Ubuntu 버전은 패키지 설치가 매우 어렵다. Linux 특성 상 의존성 에러가 나기 때문이다. 그래서 여러가지 방법으로 패키지를 설치 하는 방법을 설명 하고자 한다. 어찌 되...