오늘은 Rmarkdown 으로 표, 그림 등 여러 자료들, 기능들을 어떻게 첨부할 수 있을지 정리해보도록 하겠다.
HTML, CSS 적용
Rmarkdown 에선 일반적인 markdown과는 달리, 그냥 html 코드를 쳐도 알아서 시행이 된다고 한다. 사실 html과 css에 대해선 아는 바가 거의 없기 때문에, 예제를 통해 이런 것도 있구나 하고 넘어가려고 한다.
<style>
.my-header {
color: blue;
font-size: 24px;
}
.my-paragraph {
color: red;
font-size: 16px;
}
</style>
위와 같은 html 코드를 Rmarkdown에 입력한다. 이는 CSS 의 스타일을 정해놓은 html 코드이다.
# My HTML and CSS Example
<div class="my-header">
This is a header with custom CSS styling.
</div>
<div class="my-paragraph">
This paragraph has custom CSS styling as well.
</div>
그리고 위와 같은 코드를 입력하면, 정해둔 클래스별 스타일에 맞게 문자가 스타일링 되어 문서화된다. 그런데 여기서 주의해야 할 것이 있다.
이상하게도 저상태에서 knit을 하면 example 코드가 알아서 code chunk 로 빠지게 되는 현상이 일어난다.
그래서 수동으로 code chunk 를 의미하는 ```을 모두 지워줘야 한다.
그러면 이렇게 올바르게 문서화됨을 알 수 있다. (참고로 문서화 = 렌더링이며, 렌더링이라는 표현을 더욱 많이 쓴다.)
코드 출처가 ChatGPT인데, 아무래도 RStudio가 ChatGPT의 데이터베이스가 만들어진 이후로 업데이트를 거듭하는 과정에서 이 부분이 조금 달라진 것이 아닌가 싶다.
테이블 출력
Rmarkdown에서 테이블을 만들고 싶다면 knitr 패키지의 kable() 함수를 이용하는 것이 좋다.
```{r}
library(knitr)
library(kableExtra)
mtcars[1:5, ] %>%
kable() %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
```
위와 같은 코드를 실행하면 다음과 같이 렌더링되는 것을 확인할 수 있다.
이때 코드를 보기 싫거나 Warning message를 띄우고 싶지 않다면 다음처럼 코드를 수정하면 된다.
{r table, echo=FALSE, warning= FALSE}
table은 라벨링한 것이고, echo가 코드를 보이게 할 것인지, warning은 경고 메시지를 보이게 할 것인지를 의미하는 부분이다.
훨씬 깔끔하게 바뀌었다.
그래프 출력
R의 최대 강점이라고 생각하는 것은 당연 시각화이다. 그래프를 출력하는 것이 ggplot 덕분에 더욱 편한 감이 있는데, 마찬가지로 code chunk를 활용해 그래프를 출력할 수 있다.
```{r graph, echo=FALSE, warning= FALSE, message=FALSE}
library(ggplot2)
library(magrittr)
library(plotly)
(diamonds %>%
ggplot(aes(x = carat, y = price)) +
geom_point()
) %>%
ggplotly()
```
일반 R 코드를 짜는 것과 똑같은 것도 장점이라고 할 수 있겠다.
다만 그래프의 용량이 조금 큰 것인지 렌더링하는데 약간 버벅거림이 있었다.
이미지 출력
마지막으로 이미지도 자유자재로 넣을 수 있다. 이미지를 출력하는 방법은 굉장히 간단한데, 그냥이미지를 복사한 다음 ctrl + v 해주면 끝이다.
나의 블로그 메인화면을 캡쳐해보았다. 그리고 Source 말고 Visual 탭으로 넘어간다.
Visual 탭에서 Ctrl+v 로 붙여넣기 해주면 끝이다. 그러면 Source 탭에서 ![]( ) 안에 이미지 주소가 자동으로 생성되는 것을 확인할 수 있다. 즉, 복사하기 힘든 이미지라면 그 이미지의 주소를 붙여넣기 해주면 된다.
결과를 확인해보면 깔끔하게 들어갔음을 볼 수 있을 것이다.
'R' 카테고리의 다른 글
R - RStudio 패키지 업데이트가 불가능할 때 대처법 (2) | 2023.12.10 |
---|---|
R - Rmarkdown 사용해서 문서 만들기 (1) (0) | 2023.05.29 |
R - 데이터 분석 (3) : dplyr 패키지 (2) | 2023.05.21 |
R - 데이터 분석 (2) : tidyr 패키지 (0) | 2023.05.20 |
R - 데이터 분석 (1) : Magrittr 과 파이프 오퍼레이터 (0) | 2023.05.06 |