인류의 복지와 편익을 위한 인프라 건설을 주도하는토목공학과
제목
(2학년) 토목빅데이터분석기초 기말평가 대비 중요 코딩 (박영훈 교수)
작성일
2026.06.04
작성자
부천대학교 토목공학과
# 기말 평가 1번(머신러닝_단순회귀분석) # 데이터 입력 speed = c(15,17,18,19,22,25,33,45,47,48,49,50,52) dist = c(6,7,7,9,11,12,15,19,19,20,22,22,23) # 단순회귀분석 model = lm(dist ~ speed+0) # 결과 요약 summary(model) # 기말 평가 2번(머신러닝_다중회귀분석) # 데이터 입력 experience = c(5,8,8,12,9,10,2,3,6,6) score = c(82,90,87,90,85,87,80,80,85,92) salary = c(26.0,45.5,37.0,45.0,34.0,40.0,23.5,24.0,31.0,34.0) # 다중회귀분석 model = lm(salary ~ experience + score) # 회귀분석 결과 summary(model) # 경력 9년, 평가점수 85점의 salary 예측값 new1 = data.frame(experience = 9, score = 85) pred1 = predict(model, newdata = new1) pred1 # 경력 8년, 평가점수 90점의 salary 95% 신뢰구간 new2 = data.frame(experience = 8, score = 90) ci = predict(model, newdata = new2, interval = "confidence", level = 0.95) ci # 기말 평가 3번 (공분산분석) # 데이터 입력 Treat = c("Cont","Cont","Cont","CBT","CBT","CBT","FT","FT","FT","FT") Prewt = c(81,82,82,73,82,75,73,80,78,83) Postwt = c(80,81,87,76,80,77,76,81.5,78.5,85) data = data.frame(Treat, Prewt, Postwt) # Control 그룹을 기준(reference)으로 설정 data$Treat = relevel(factor(data$Treat), ref = "Cont") # 공분산분석 ANCOVA model = lm(Postwt ~ Prewt + Treat, data = data) # 결과 확인 anova(model) #사후분석 install.packages("multcomp") library(multcomp) out=lm(Postwt-Prewt~Prewt+Treat,data) dunnett=glht(out, linfct=mcp(Treat="Dunnett")) summary(dunnett) # 기말 평가 4번 (상관분석) # 데이터 입력 scale = c(1.0, 1.2, 1.3, 1.8, 2.0, 2.2, 3.1, 3.6) damage = c(100, 105, 115, 163, 190, 250, 325, 405) # Spearman 상관계수 cor(scale, damage, method = "spearman") # Kendall 상관계수 cor(scale, damage, method = "kendall") # Pearson 상관분석 cor.test(scale, damage, method = "pearson") #기말평가 5번 (머신러닝_판별분석) turkey=read.csv("turkey.csv") head(turkey, n=20) str(turkey) turkey=na.omit(turkey) install.packages("MASS") library(MASS) model1=lda(TYPE~HUM+ULN, data=turkey) model1 predict(model1,data.frame("HUM"=c(135,140), "ULN"=c(140,145))) model2=qda(TYPE~HUM+ULN, data=turkey) model2 predict(model1,data.frame("HUM"=c(135,140), "ULN"=c(140,145)))