반응형

전체 글 88

특정 조건 행 (row) 갯수 세기 dplyr::count

열의 수를 세는 가장 좋은 function은 count입니다. 예를 들어 df라는 데이터의 총 observation은 (즉, 열의 수) 몇 개지? 하면 그냥 library(tidyverse) count(df) 하면 끝이죠. 근데 df라는 데이터프레임의 Stock이라는 칼럼 중에 빈칸이 없는 경우의 수는 몇 개지?라고 하면 (여기서 Stock 칼럼은 문자열이라고 칩시다), dplyr를 통해 이렇게 치면 됩니다. %>%의 힘. df %>% count(Stock!="")

R/R basic 2022.06.14

열(row) 제거하기

앞서 칼럼(column)제거하는 글을 올렸는데 정작 열을 제거하는 법은 올리지 않았네요. 특정 열(column)만 선택 (keep) 혹은 제거(drop)하기 (tistory.com) 특정 열(column)만 선택 (keep) 혹은 제거(drop)하기 R에서 특정 열(칼럼)을 선택 혹은 제거하는 방법은 적어도 3~4가지는 되는 것 같습니다. 우선, 데이터프레임을 하나 만들어봅니다. a df라는 데이터프레임에 각각 number, fruit, TF라는 칼럼이 있는데, approximation.tistory.com 칼럼을 제거하는 법은 그냥 NULL을 쓰거나 subset 함수를 이용하라고 했는데, 열(row)을 제거하는 법은 그냥 더 간단합니다. 예를 들어 아래와 같은 경우가 있다고 해보죠. stackoverf..

R/R basic 2022.06.09

데이터프레임을 엑셀파일로 변환? 그냥 csv파일로 바꾸자 (write.csv)

앞에서는 엑셀 파일을 부르는 함수에 대해서 봤는데요 (read_excel) 이번에는 R에서 작업한 데이터프레임을 엑셀 파일로 export하는 방법에 대해서 알아보고자 합니다. 검색해보니 xlsx라는 라이브러리에 들어가서 write.xlsx()라는 함수를 쓰라고 나오는데요. 왜 그런지는 모르겠는데 저는 자꾸 오류가 납니다. 그래서 그냥 속편하게 write.csv 함수 쓰는 게 나은 것 같아요. write.csv(final_homeless, file="homeless.csv") final_homeless 라는 R 데이터베이스를 내가 지정한 폴더에 homeless.csv라는 파일로 바꿔라. 이게 차라리 더 나을 것 같다는 생각이 드네요.

R/R basic 2022.01.12

stringr vs paste

앞서 문자열 합칠 때 str_c라는 함수를 자주 사용한다고 했는데 이는 stringr 라이브러리에서 나온 함수죠. 반면 R 기본으로 들어가 있는 paste() 혹은 paste0()라는 함수도 있는데요. 실제로 str_c는 paste와 별 다른 차이 없다고 보면 됩니다. 다만 사람들말로는 str_c가 paste보다는 더 빠르다는 얘기도 있네요. 문자열을 합칠 때 paste 를 쓸 지 str_c를 쓸지는 개인 취향 차이라고 보면 될 듯합니다. r - What is the difference between paste/paste0 and str_c? - Stack Overflow

카테고리 없음 2021.12.08

날짜 데이터 읽기 (2): 두 개 이상 날짜 칼럼 합쳐서 변환 (with, sprintf)

앞서 말한 것처럼 날짜는 일반적으로 as.Date()로 변환하고 포맷만 잘 지정해주면 문자도 날짜로 잘 인식해주는데, 가끔 보다보면 날짜 칼럼이 각각 떨어져 있는 경우가 있습니다. 아래처럼 연도와 월 (혹은 일)이 각각 다른 칼럼에 있는 경우가 있죠. 이 때 이걸 어떻게 통합해서 날짜 데이터로 변환할 수 있느냐는 질문이 생길 수 있는데요. 이 때 사용해야 하는 함수가 두 개 있는데 하나가 with이고, 다른 하나가 sprintf입니다. 우선 df라는 데이터베이스에 있는 두 날짜 칼럼을 합쳐서 새로운 날짜 칼럼으로 만들어라 하는 명령문은 아래와 같구요 (포맷은 그 때마다 다릅니다). df$Date

R/R basic 2021.05.25

날짜 데이터 읽기 (1): 문자를 날짜로 데이터 변환 (as.Date)

R에서 날짜 변수들이 있는 경우가 종종 있는데요. 예를 들어 특정 칼럼 항목에 2020-01-01 같은 문자 값이 들어가 있으면 R이 무조건 날짜라고 인식하는 게 아니라 이건 날짜 변수야 라고 지정해주는 게 필요합니다. 예를 들어 df라는 데이터프레임에 날짜 데이터가 들어간 칼럼 이름이 strDate라고 하면 (아직까지는 문자로 인지되고 있습니다. 날짜가 아니라) df$Dates

R/R basic 2021.05.23

데이터 문자값 바꾸기 (sub, gsub 함수)

R로 작업을 하다보면 데이터를 바꾸고 싶을 때가 가끔 생기는데, 특히 문자(character)를 바꿔야 할 때가 종종 있습니다. 이 때 쓰이는 대표적인 함수가 sub 혹은 gsub 함수인데요. sub은 맨 처음 나오는 문자만 바꾸지만, 일괄적으로 특정 문자를 모조리 바꿔라할 때는 gsub이 많이 사용됩니다. 데이터를 다루다보면 gsub을 훨씬 더 많이 씁니다. gsub의 기본 조건은 다음과 같습니다. gsub('바꿔야 할 문자', '새롭게 대체할 문자', 범위 (데이터프레임 전체든, 일부 칼럼이든, 벡터이든)) 예를 하나 들어보죠. 데이터를 열었는데 2012, 2013, 2014... 등으로 표기되어야 할 year column에 이상하게 X2012, X2013, X2014 이런 식으로 X가 불필요하게 들..

R/R basic 2021.05.04
반응형