1. 중간고사 부분 중에 계산 하는 거 다시 보기
# 다섯수치요약
summary(score)[-4]
quantile(score,c(1/2,1/4,1/8,1/16),type=8)
2. 기말고사 코드 다시 보기
1)
attach(twoway.model1)
comparison=matrix(row,ncol=1)%*%matrix(col,nrow=1)/overall
2)
attach(twoway.out)
plot(residuals~comparison)
잔차를 비교값과 비교시 1의 기울기를 갖는 것으로 보아 승법적 모형이 적절
이를 가정하는 경우 로그변환 자료를 쓰면, 가법모형이 적절할 수 있을것임 > 로그변환
3)
과별로 성별 분포는? A,B과는 남성이/ C,E과는 여성이/ D,F는 비슷함
Tab1= UCBAdmissions[1,,] Admitted
Tab2= UCBAdmissions[2,,] Rejected
Tab=Tab1+Tab2 총합계
-열에 따라 행의 분포
barplot(Tab,beside=T,legend=rownames(Tab)) #옆으로 그려줌
Tab.col=apply(Tab,2,sum)
Tab.C=Tab%*%diag(1/Tab.col)*100 # 백분율표 만들기
-모자이크 플롯
mosaicplot(~Dept+Gender,data=UCBAdmissions,color=T)
mosaicplot(~Gender+Dept,data=UCBAdmissions,color=T)
성별로 과별 분포는? 남성은 A,B과에 여성은 C,D,E,F과에 집중
-행에 따라 열의 분포
barplot(t(Tab),legend=rownames(t(Tab)))
barplot(t(Tab),beside=T,legend=rownames(t(Tab)))
4) 심슨의 역설
AGTable=UCBAdmissions[,,1]
for(i in 2:6)
{AGTable=AGTable+UCBAdmissions[,,i]}
AGTable
UCBAdmissions[,1,] # male
UCBAdmissions[,2,] # female
UCBAdmissions[,1,]+UCBAdmissions[,2,] # all
=> 전체적으로는 여자가 남자보다 합격률이 낮은 듯 보임
그런데, 과별로 나누어 남녀합격률을 보니 꼭 그렇지도 않음
mosaicplot(~Gender+Admit,data=UCBAdmissions,off=2,color=T)
mosaicplot(~Dept+Admit,data=UCBAdmissions,off=2,color=T)
mosaicplot(~Dept+Admit,data=UCBAdmissions[,1,],off=2,color=T,main="Male")
mosaicplot(~Dept+Admit,data=UCBAdmissions[,2,],off=2,color=T,main="Female")
5)
Tab1/Tab #admit rate
apply(Tab1,1,sum)/apply(Tab,1,sum) #total admit rate
6)
rnrom 쓰기전에 set.seed(1234567)
7)
로버스트 적합에서 library(MASS)
8)
후버의 M추정
psi.0=function(z){z^2}
psi.1=function(z,c){
ifelse(abs(z)<c,z^2,c*(2*abs(z)-c))
}
z=seq(-6,6,0.1)
y.0=psi.0(z)
plot(y.0~z,type="l",main="LS")
c=4
y.1=psi.1(z,c)
plot(y.1~z,type="l",main=paste("Huber M, c=",c))
=>c보다 작은 범위에서는 z^2을 적용. c보다 큰 범위에서는 z를 적용해서 선형함수로 영향력을 줄임
c를 작게하면 조금만 큰 값들에 대해서 선형을 적용하는 셈. c를 크게 하면 최소제곱법과 유사
rlm(y~x)
9)
최소중간값제곱법(LMS)
m2=lqs(y~x,method="lms");m2
abline(m2$coef,col="red")
10)
최소절삭제곱법(LTS)
m2b=lqs(y~x,method="lts",quantile=8);m2b
abline(m2b$coef,col="red")
-LTS 기준 특이점 제거 후 재적합
boxplot(m1$resid, m2$resid, m3$resid, m4$resid)
stackloss2=stackloss[abs(m4$resid)<4,]
m5=lm(stack.loss~Air.Flow+ Water.Temp+ Acid.Conc., data = stackloss2)
summary(m5)
11)
교호작용
require(plot3D)
attach(mtcars)
fit<-lm(mpg~wt+disp+wt*disp)
# predict on x-y grid, for surface
wt.pred <- seq(1.5, 5.5, length.out = 30)
disp.pred <- seq(71, 472, length.out = 30)
xy <- expand.grid(wt = wt.pred,
disp = disp.pred)
mpg.pred <- matrix (nrow = 30, ncol = 30,
data = predict(fit, newdata = data.frame(xy)))
# predicted z-values, fitted points for droplines to surface
fitpoints <- predict(fit)
scatter3D(z = mpg, x = wt, y = disp, pch = 18,cex = 1,
# surf는 면을 그리는 함수
surf = list(x = wt.pred, y = disp.pred, z = mpg.pred,
facets = NA, fit = fitpoints),
xlab = "wt", ylab = "disp", zlab = "mpg", main = "mtcars",
theta = 50, phi =30, ticktype = "detailed",
colkey = list(length = 0.8, width = 0.4)
)
12)
2번 그래프는 group수준의 선형관계임에도 크기가 크게 나옴
3번 그래프는 완벽한 선형관계임에도 outlier때문에 크기가 작게 나옴
4번 실제보다 약한 선형관계를 제공
13)
x=rnorm(50)+5
y=rnorm(50)*0.6+(x-5)*0.8+5
x1=round(x)
y1=round(y)
plot(y1~x1)
x2=x1*runif(50, -0.5,0.5)
y2=y1*runif(50, -0.5,0.5)
plot(y2~x2)
x2=jitter(x1, amount=0.5)
y2=jitter(y1, amount=0.5)
plot(y2~x2)
14)
library(lattice) 없어도 될듯
plot(jitter(mag,amount=0.05)~depth)
15)
이차원 boxplot으로 경향파악
depth.int=trunc(depth/100)
boxplot(mag~depth.int)
16)
attach(trees)
plot(Girth,Height)
symbols(Girth,Height,circles = Volume,inches = 0.2)
Vol.rel=(Volume-min(Volume))/(max(Volume)-min(Volume))
symbols(Girth,Height,thermometers = cbind(0.5,1,Vol.rel),inches=0.1)
17)
library(MASS)안해도될듯
hist(duration,freq=F)
plot(density(duration))
hist(duration,freq=F,xlim = c(0,6))
lines(density(duration),lty=2)
18)
library(MASS)
density2=kde2d(waiting,duration,n=400)
image(density2)
19)
library(rpart)
data("car.test.frame")
attach(car.test.frame)
library(aplpack)
bagplot(x=Weight,y=Disp.)
bagplot(x=Weight,y=Disp.,show.whiskers=F,cex=1)
20)
조각선형회귀 with lms
log.Price=log(Price,10)
c=3000
Weight.c=((Weight-c)+abs(Weight-c))/2
lm3000=lqs(log.Price~Weight+Weight.c,method = "lms")
plot(log.Price~Weight,ylim=c(0.8,1.8))
par(new=T)
plot(lm3000$fit[order(Weight)]~sort(Weight),ylim=c(0.8,1.8),type="l",col="blue",xlab="",ylab="")
summary(lm3000)
21)
산점도 평할기
log.Price=log(Price,10)
s1=lowess(log.Price~Weight,f=1/3)
plot(log.Price~Weight)
lines(s1)
3. 기말고사 지류 다시 보기
1)
EDA가법모형 & medpolish()
2)
2원 자료표: 2개의 교차분류 칸에 수치 값이 부여된 행렬 형태의 표
2원 빈도표: 2개의 교차분류 칸에 빈도가 부여된 행렬 형태의 표
3)
최소제곱법 계수추정 식
4)
후버의 M 추정 공식과 시그마 추정량
LMS 공식
LTS 공식 (맨뒷장 요약)
5)
summary 의 결과로 나오는 t검정과 f검정을 해석
6)
결정계수
SSE.SSR.SST
7) 교호작용
교호작용이란 A의 효과가 B의 서로 다른 수준 B1과 B2에서 일관성 있게 나타난다면 두 인자 A,B간에는 교호작용이 없다고 하고, 만일 B1수준에 있을 때 A의 효과와 B2수준에 있을 때 A의 효과 간에 차이가 있을 때 A,B간에 교호작용이 존재한다고 한다.
8)
작은 결석과 큰 결석 모두에서 치료법 A의 성공률이 높게 나왔지만, 결석의 크기를 구분하지 않고 합친 경우에는 치료법B의 성공률이 높은 결과가 나왔다. 이 사례에는 결석의 크기라는 숨겨진 변수 또는 혼재변수가 각 치료법의 성공률에 영향을 미친 경우에 해당된다. 결석의 크기에 따라 성공률 자체가 달라지며, 결석의 크기 등과 같은 환자의 특성에 따라 선택하는 치료법이 달라진다는 것이 심슨의 역설 현상을 낳게 하였다.
9)
교락요인 해결방안
사전적: 임의 실험 계획을 통해 알려진 또는 알려지지 않은 교락요인을 중화
사후적: 교락요인을 분석에 포함
10)
상관계수 구하는 공식
'학교공부 > 탐색적자료분석' 카테고리의 다른 글
2주차_R코드_list/인덱싱/array/자료변환/apply/loof/임의수생성/사용자정의함수/R그래픽스 (0) | 2024.03.18 |
---|---|
1주차_R코드_벡터/행렬/연산과 논리/요인/데이터프레임 (0) | 2024.03.18 |