반응형

전체 글 88

날짜 데이터 읽기 (3): 연, 월, 일 형태는 맞춰주는 게 좋다

앞서 R 날짜 데이터 기본에 대해 일부 알아봤고, 날짜 데이터 읽기 (1): 문자를 날짜로 데이터 변환 (as.Date) (tistory.com) 날짜 데이터 읽기 (1): 문자를 날짜로 데이터 변환 (as.Date) R에서 날짜 변수들이 있는 경우가 종종 있는데요. 예를 들어 특정 칼럼 항목에 2020-01-01 같은 문자 값이 들어가 있으면 R이 무조건 날짜라고 인식하는 게 아니라 이건 날짜 변수야 라고 지정해주 approximation.tistory.com 이어서 칼럼이 연, 월 따로 떨어져 있을 때 어떻게 하면 둘이 합치는지에 대해서도 얘기했는데, 날짜 데이터 읽기 (2): 두 개 이상 날짜 칼럼 합쳐서 변환 (with, sprintf) (tistory.com) 날짜 데이터 읽기 (2): 두 개 ..

R/R basic 2022.07.26

shift + tab(연속)은 생각보다 유용하다

앞에서 tab키를 누르면 명령어 리스트가 나온다고 했는데, 어쩌면 이것보다 더 유용한 것이 shift + tab이다. 명령어를 치고 나면 보통 조건을 같이 적어야 하는 경우가 종종 있는데 그 조건에 뭘 넣어야 하는 건지, 조건식이 어떻게 되는지 헷갈릴 때가 많다. 그 때 자주 쓰이는 것이 shift + tab이다. shift + tab를 한 번 누르면 아주 기본적인 명령어 조건 (무슨 파라미터를 넣어야 하는지) 등이 나오고 shift + tab 두 번, 세 번, 혹은 네 번까지 누르면 더 자세한 내용들이 나온다. 두 번은 약간 자세하게, 3번은 제일 자세하게, 4번은 제일 자세한 버전을 아예 따로 창을 만들어 보여준다. 아래는 shift + tab (총4번) 을 한 경우이다. df는 pd.read_csv..

Tab키를 누르면 고를 수 있는 명령어가 뜬다

라이브러리를 부르고 탭 키를 누르면 선택할 수 있는 함수 목록들이 쭉 뜨는 걸 의외로 사람들이 모르는 경우가 많다. 예를 들어 아래처럼 판다스 라이브러리를 열고 pd라고 치고 "Tab"키를 누르면 선택할 수 있는 명령어들이 알파벳 순서로 나온다. 알파벳을 조금 치고 탭 키를 눌러도 그 안에서 고를 수 있는 명령어들이 쭉 나온다. 명령어가 헷갈리면 탭 키를 자주 사용하도록 하자.

[pandas] 보여주는 데이터 열 개수 변경하기; pd.options.display.min

pd.read_csv로 파일을 열고 나면, 판다에서 보통 10개 정도 데이터 열을 보여준다. 근데 가끔 아 "데이터 열 좀 더 혹은 덜 보고 싶은데"라는 느낌이 들 때가 있다. 물론 이 때는 head라는 명령어를 통해서 보여주는 열 수를 조정할 수 있는 게 일반적. 예를 들어 내가 gas라는 데이터프레임을 열었다고 해보자. gas=pd.read_csv("incident_gas_transmission_gathering_jan2010_present.csv") gas.head(3) 이렇게 하면 아래처럼 딱 세 열만 보여준다. 당연히 gas.head(20)으로 하면 20개 보여줄 것이고. 그런데 이런 head 명령어 사용하지 말고 그냥 데이터프레임 딱 치면 기본적으로 보여주는 열 갯수 옵션을 바꾸고 싶다고 하면..

열려 있는 데이터(혹은 파일) 제거하기 #2: rm 함수

앞서 R 창에 열려 있는 파일 제거하는 법으로 rm 함수를 쓰는 법을 배웠습니다. R에 지금 열려 있는 데이터 지우기 (tistory.com) R에 지금 열려 있는 데이터 지우기 R로 작업을 하다보면 필요없이 많은 데이터 (그게 데이터프레임 형태든 list이든)가 있는 경우가 있습니다. R 환경 창을 보면 필요없는 데이터들이 우르르 떠 있는 경우가 있죠. 메모리 용량 너무 approximation.tistory.com 근데 rm으로 파일명 일일이 치기가 귀찮을 때가 있죠? 예를 들어 R에 있는 파일이 df2013, df2014,... df2030까지 있다고 할 때, 이걸 rm(df2013), rm(df2014) 이렇게 일일이 치기 사실 좀 그렇고.. 그렇다고 rm(list=c("df2013", "df20..

R/R basic 2022.07.01

문자 앞이나 뒤에 억지로 숫자나 문자를 붙여야 할 때: str_pad 함수

칼럼에 있는 문자 데이터 앞이나 뒤에 일괄적으로 숫자나 문자를 붙이고 싶을 때가 있습니다. 예를 들어 한국 주식 시장 코드는 6자리인데, R이 앞에 있는 0을 무시하고 그냥 숫자만 읽을 때가 있죠. 예를 들어 삼성전자 주식코드는 005930인데, R에서는 5930으로 나오는 경우. 이 때 앞에 0을 어떻게 일괄적으로 추가할 수 있을까요? df라는 데이터에 Stock이라는 칼럼을 바꾼다고 하면, 아래와 같이 하면 되지 않을까? 생각할 수도 있을 것입니다. paste0("00", df2$Stock) 그런데 이 경우는 문제가 있죠? 삼성전자의 5930은 005930으로 바뀌겠지만 앞이 0이 아닌 131220 같은 주식 코드의 경우 00131200이 되면서 무려 8자리가 되게 됩니다. 자릿수는 유지하되, 빈 자..

R/R basic 2022.06.25

정렬(오름차순, 내림차순)할 때 쓰는 함수: arrange

df%arrange(Stock) 앞서 칼럼 값을 일정 기준으로 정렬할 때는 쓰는 기본적인 법을 얘기했는데요. 그 때는 order라는 함수를 썼습니다. [R기본] R로 데이터프레임 만들기, 행&열 뽑기, 부분 집합, 그리고 순서 (tistory.com) [R기본] R로 데이터프레임 만들기, 행&열 뽑기, 부분 집합, 그리고 순서 #기본적으로 가공의 데이터를 만듭니다. c는 복수의 데이터가 들어갈 때 반드시 써줘야 합니다. a #데이터 프레임 형태로 바꿉니다. 자동으로 a, b, c를 칼럼으로 인식합니다. 단 이는 a, b, c수가 일 approximation.tistory.com 사실 이보다 훨 간단한 함수가 arrange라는 함수인데, 이건 dplyr (혹은 tidyverse)안에 있습니다. 그래서 이 ..

R/R basic 2022.06.23

연속된 숫자 만들기 rep 함수

숫자가 연속되게 나오는 데 가장 유용한 함수가 rep함수인데, 의외로 쓸 데가 많다. 예를 들어 rep(1:5) 이렇게 하면, 1, 2, 3, 4, 5가 나오는거고, 이걸 만약 10번 반복하고 싶다. 그러면 옆에 times를 붙이면 된다. rep(1:5, times=10) 그러면 1, 2, 3, 4, 5, 1, 2, 3, 4, 5.. 이렇게 10번 될 때까지 반복. 만약 1이 연달아 세 번 나오고 그 다음에 2가 연달아 세 번 이런 식으로 하려면 다음과 같이 each를 붙이면 된다. rep(1:5, each=3) 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5가 결과가 될 것이다. 그런데 연속되는 숫자가 아니라 특정 숫자 그룹 예를 들어 3, 5, 7이라는 숫자가 5번 반복..

R/R basic 2022.06.21

tidyverse 하나면 웬만한 것 커버된다

일반적으로 R을 시작할 때 깔아야 하는 기본적인 library들이 있는데 예를 들어 그래프 만들 때 쓰는 ggplot2나 data cleaning할 때 필요한 dplyr 등이 있다. 근데 이런 거 일일이 다 깔 필요없이 그냥 tidyverse library 하나 깔면 거기에 ggplot2, dplyr가 다 포함되어 있다. tidyverse에 포함된 package로는 ggplot2, dplyr, tidyr, readr, purr, tibble, stringr, forcats 등이 있다. Tidyverse packages Tidyverse packages Installation and use Install all the packages in the tidyverse by running install.pack..

R/R basic 2022.06.18

한국어로 파일 추출이 안 될 때 (sys.setlocale)

R로 작업을 하고 csv file로 뽑을 때 칼럼 안에 있는 한국어가 깨지는 경우들이 종종 있다. 이건 사실 R의 외국어 관련 고질적인 문제이기도 한데, 임시 방편으로 아래와 같이 명령어를 치고 데이터를 export를 하면 된다. 그렇게 하고도 엑셀 등에서는 깨지는 경우가 많은데, 검색해보니 메모장이나 아니면 다른 text 읽는 프로그램으로 열어보라고 하기도. Sys.setlocale("LC_CTYPE", "ko_KR.UTF-8") write.csv(df2,'정리.csv',fileEncoding = "UTF-8") 위 명령문은 df2라는 R 데이터프레임을 정리.csv라는 파일로 추출 (내보내기)하되 한국어 패치를 이용하라고 한 것.

R/R basic 2022.06.15
반응형