## 프로젝트 개요
실시간으로 수집되는 데이터를 저장하고, 실시간으로 시각화하여 사용자가 현재 상태를 쉽게 파악할 수 있도록 하는 시스템을 구축합니다. 주로 IoT나 센서 데이터 처리에 활용될 수 있는 예제입니다.
## 주요 기능
- 실시간 데이터 수집 및 저장
- 실시간 데이터 시각화 (ggplot2)
- 데이터 파일의 형식 검증 및 예외 처리
- 사용자에게 현재 상태를 알리는 알림 기능
## 사용 방법
RStudio에서 실행 가능하며, 필요한 라이브러리가 미리 설치되어 있어야 합니다. `shiny`와 `ggplot2`는 사전에 설치해 주세요.
## 확장 가능성
- 데이터 저장 방식 변경 (SQLite, MongoDB 등)
- 시각화 형식 추가 (지도, 타임라인 등)
- 사용자 인터페이스 개선 및 모바일 호환
📊 R에서 실시간 데이터 수집 및 시각화 시스템 구축하기
R 예제
중급
난이도
예제
타입
11/08
등록일
R에서 실시간 데이터 수집 및 시각화 시스템 구축하기
중급태그
코드 예제
# 실시간 데이터 수집 및 시각화 시스템
library(shiny)
library(ggplot2)
library(readr)
# 서버 로직
data <- reactive({
# 파일 경로 설정
file_path <- "data_stream.csv"
# 파일 존재 여부 확인
if (!file.exists(file_path)) {
stop("데이터 파일이 없습니다. ", file_path, " 파일을 준비해 주세요.")
}
# 데이터 읽기
read_csv(file_path)
})
# 시각화 함수
visualize_data <- function(data_df) {
p <- ggplot(data_df, aes(x = timestamp, y = value)) +
geom_line() +
labs(title = "실시간 데이터 시각화", x = "시간", y = "값") +
theme_minimal()
return(p)
}
# UI 정의
ui <- fluidPage(
titlePanel("실시간 데이터 시각화 시스템"),
sidebarLayout(
sidebarPanel(
actionButton("update", "최신 데이터 업데이트")
),
mainPanel(
plotOutput("data_plot")
)
)
)
# 서버 정의
server <- function(input, output) {
observeEvent(input$update, {
tryCatch({
# 데이터 로드 및 시각화
data_df <- data()
plot <- visualize_data(data_df)
output$data_plot <- renderPlot({
print(plot)
})
},
error = function(e) {
showModal(modalDialog(
title = "오류 발생",
message = paste("데이터 로드 중 오류가 발생했습니다.", e$message),
footer = tags$button("확인", class = "btn btn-primary" , onclick = "window.location.href='/'")
))
}
)
})
}
# 앱 실행
shinyApp(ui = ui, server = server)
등록일: 2025년 11월 08일 02:38
언어 정보
언어
R
카테고리
Data
인기도
#13
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요