Category: R

  • Scatter plot과 Density Plot 같이 그리기

    ggplots을 이용한 예시가 많지만 나는 안 쓰는 것을 좋아하기 때문에 인터넷 검색을 통하여 다음과 같은 방법을 이용했다. 꾸미기 위한 코드는 생략하고 기술함. density 함수로 값들을 변환한 다음, 이를 기반으로 점을 선으로 그려 주는 것이 핵심임.

    density.mean = density(dat[, 1])
    density.sd = density(dat[, 2])
    layout(matrix(data=c(1, 2, 2, 1, 2, 2, 0, 3, 3), nrow=3))
    plot(density.mean$x, density.mean$y, type="l")
    plot(dat[, 1], dat[, 2])
    plot(density.sd$y, density.sd$x, type="l")
  • grep(), 이나 grepl()에서도 복수의 조건을 검색할 수 있다. 여러번 반복하는 것보다 조금 간단하게 코딩을 할 수 있다. pattern 부분에 “|” 로 공란없이 묶어서 하면 된다.

    예를 들어  이런 식으로 사용할 수 있다.

    grep("^ABC|^BVC", data)
  • install.packages

    R에서 소스 파일로만 라이브러리를 설치해야 할 때에는 위의 명령어 형태로 입력하면 쉽게 설치할 수 있다.

    install.packages(" bioconductor.org/packages/release/bioc/src/contrib/EBImage_4.28.1.tar.gz", repos = NULL, type= "source")

    sosal.kr/966

  • merge

    두 개의 dataframe 을 결합시켜야 할 일이 있을 때 merge를 이용한다. 보통은 하나의 key를 기준으로 하지만, 복수의 key를 이용하여야 하는 경우가 있다. 그럴 경우에는 by = c() 항목에 여러개를 넣어주면 됨.

    merge(x = tmpd, y = ASSESSMENT_ADR, by = c("KD_NO", "DRUG_CHEM", "WHOART_ARRN", "WHOART_SEQ"), all.x = TRUE)