R

Source Code/ Tip

RStudio와 함께하는 프로젝트 관리

Tools> Global Options...> Packages> __Use secure download method for HTTP (check 박스 해제)

출처: [[http://rfriend.tistory.com/177|http://rfriend.tistory.com/177]] [R, Python 분석과 프로그래밍 (by R Friend)]

  • NA 는 비교할 수 없음 ( A >0 이나 A!= “abc” 로 비교하면 NA는 빠짐)
    • replace 사용시 warning 조심.. NA가 있을 경우 원래 vector와 replace되는 vector 크기가 달라짐
  • character로 파일 읽으면, 빈칸은 NA가 아니고 _ckgedit_QUOTckgedit> character로 읽힘 : is.na 말고 ==_ckgedit_QUOTckgedit> 써야 함
  • 변수 등 실행하기:

eval( parse( text="    " ) )

  • 값 바꾸기

법인리스트$사업명re<-newvals[match(법인리스트$사업명,oldvals)]

  • trim 함수

 trim <- function (x) gsub("^s+|\\s+$", "", x)

  • Error handling

  err_msg<-tryCatch({

     # Contents

  }, error=function(e){
     err_msg<-paste0( LOOP_IDX ," ERROR :",conditionMessage(e))
     cat( LOOP_IDX ," ERROR :",conditionMessage(e))
     return(err_msg)
  }) # 예외처리 끝
  print(err_msg)

  • 현재 경로 얻기

 paths<-paste0(enc2native(   dirname(rstudioapi::getActiveDocumentContext()$path))   , "/teleseller/")

Library

data.frame

  • Reading Data Fastly

fread("C:/Users/heeseoklee.HEESEOKLEE-/Desktop/자료들2017년/04_05 기업DB/KED/LGU.txt", sep="|", header=FALSE, colClasses=list(character=1:54))

RODBC

install.packages("RODBC")
library(RODBC)

#con<-odbcConnect("DB")
con <- odbcConnectAccess2007("c:/ .mdb",pw=" ")

table_name <- sqlTables(con, tableType = "TABLE")$TABLE_NAME

TBL <- sqlFetch(con2, table_name[1])
str(TBL)
head(TBL)

qry <- "SELECT * FROM XXX"
class <- sqlQuery(con2, qry)
str(class)

odbcCloseAll()

reshape2

http://seananderson.ca/2013/10/19/reshape/

  • melt : wide → long

 melt( data, id.vals=c("KEYVALUE1","KEYVALUE2") )

키값 빼고 나머지는 다 row로

  • dcast : long → wide

 dcast( data, KEYVALUE1 + KEYVALUE2 ~ LONG_COLUMN )

igraph

tidyverse

  • ggplot2, for data visualisation.
  • dplyr, for data manipulation.
  • tidyr, for data tidying.
  • readr, for data import.
  • purrr, for functional programming.
  • tibble, for tibbles, a modern re-imagining of data frames.
  • stringr, for strings.
  • forcats, for factors.

tidyverse style guide

Dplyr

  • 여러 컬럼 sum/average rowwise

KED_not_PF %>%
   rowwise() %>%
   mutate(평균매출액=mean(c(as.double(매출액3),as.double(매출액2),as.double(매출액1)), na.rm=TRUE) %>%
   ungroup()

  • mutate : 컬럼명 character vector 통해서

 DATA %>% mutate(!!paste0("주요품목",1:10)[i] := gsub("응용SW_","",!!rlang::sym(paste0("주요품목",1:10)[i])))

ggplot2

Web Apps

HTML CSS Javascript

htmlWidgets

visNetwork

https://datastorm-open.github.io/visNetwork/

https://cran.r-project.org/web/packages/visNetwork/vignettes/Introduction-to-visNetwork.html

  • 속도 문제 : 아래 방법들을 사용.. 이쁨을 포기하고 속도를 얻기

visIgraphLayout(layout = "layout.kamada.kawai")
visPhysics(stabilization = FALSE)
visEdges(smooth = FALSE)

  • visEvents
DT

https://rstudio.github.io/DT/

  • 숫자를 scale::comma() 를 통해서 표현하면 character 형이 되어버려서 sorting이 제대로 안됨 :
    datatable(…) %>% formatCurrency() 등을 쓰도록 해야함
  • callback

Interactive visNetwork plot with DT not using Shiny or Crosstalk

plotly

https://plotly-book.cpsievert.me/

  • Network graph : ggplot2 → plotly

crosstalk

https://rstudio.github.io/crosstalk/

Linking Views without Shiny DT, Plotly, …

RMarkdown

flexdashboard
Enter your comment:
P W N L᠎ W