****************************************

– 예측값 신뢰구간을오 나타내기 : diamonds 데이터셋 이용

****************************************


#--------------------------------
#----1. 실습데이터 가져오기
#-------------------------------

#diamonds은 ggplot2에 있음
library(ggplot2)
t1 <- diamonds
str(t1)

# Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 53940 obs. of  10 variables:
#   $ carat  : num  0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
# $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
# $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
# $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
# $ depth  : num  61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
# $ table  : num  55 61 65 58 58 57 57 55 61 61 ...
# $ price  : int  326 326 327 334 335 336 336 337 337 338 ...
# $ x      : num  3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
# $ y      : num  3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
# $ z      : num  2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

#--------------------------------
#----2. 표본을 만듭니다.
#-------------------------------
t2 <- diamonds[sample(nrow(t1),100),]
# 표본을 표집해서 회귀모형을 구합니다.
# sample()함수를 이용합니다.
# 이제 데이터세트로부터 100개의 임의의 데이터를 표집해서
# t1 객체에 담았습니다.

#--------------------------------
#----3. 차트를 그립니다.
#-------------------------------
g1 <- ggplot(
  t2,aes(x=carat, y= price, color = color))+
  geom_point()+geom_smooth(method="lm")
g1

g2 <- ggplot(t2, aes(x=carat, y= price)) + 
  geom_point(aes(color=color)) + geom_smooth(method="lm")
g2

#<<결과분석>>
# 이렇게 된 이유는 상속문제인데, ggplot()함수에 넣으면 color인자가
# 전달된 것입니다.
# 하지만 ggplot()뒤에 있는 geom_point() 함수에 사용된 인자값은 그 뒤에 
# 있는 함수들에게 전달되지 않습니다.
# 그렇기 때문데 geom_point() 에서 정의한 인자가 geom_smooth()에
# 전달되지 않아 한 개의 회귀모형만 나오게 된 것입니다.

#--------------------------------
#----4. 회귀분석 모형 구하기
#-------------------------------

lm <- lm(price~carat, data = t2)
lm

#--------------------------------
#----5. 추정치 테스트
#-------------------------------
predict(lm,interval="confidence", level=0.95)
#<<결과 분석>>
# 만약 정확한 값으로 예측구간을 알고 싶다면 predict() 함수에 인자
# 몇 개만 추가하면 됩니다. 예측값은 항상 오차가 발생하기 마련인데,
# 이를 신뢰구간에 들어가는 값인지 아닌지를
# interval="confidence" 매개변수를 주어 확인할 수 있다.
# 통계학에서 점추정보다는 구간추정을 더 신뢰한다고 말합니다.
# 그래서 예측값을 말할 때도 신뢰구간으로 말하는 방법을
# 예측구간이라고 합니다.
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KIyAtLSDsmIjsuKHqsJIg7Iug66Kw6rWs6rCE7J2E7JikIOuCmO2DgOuCtOq4sCA6IGRpYW1vbmRzIOuNsOydtO2EsOyFiyDsnbTsmqkNCiMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCmBgYHtyfQ0KDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMtLS0tMS4g7Iuk7Iq1642w7J207YSwIOqwgOyguOyYpOq4sA0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KI2RpYW1vbmRz7J2AIGdncGxvdDLsl5Ag7J6I7J2MDQpsaWJyYXJ5KGdncGxvdDIpDQp0MSA8LSBkaWFtb25kcw0Kc3RyKHQxKQ0KDQojIENsYXNzZXMg4oCYdGJsX2Rm4oCZLCDigJh0YmzigJkgYW5kICdkYXRhLmZyYW1lJzoJNTM5NDAgb2JzLiBvZiAgMTAgdmFyaWFibGVzOg0KIyAgICQgY2FyYXQgIDogbnVtICAwLjIzIDAuMjEgMC4yMyAwLjI5IDAuMzEgMC4yNCAwLjI0IDAuMjYgMC4yMiAwLjIzIC4uLg0KIyAkIGN1dCAgICA6IE9yZC5mYWN0b3Igdy8gNSBsZXZlbHMgIkZhaXIiPCJHb29kIjwuLjogNSA0IDIgNCAyIDMgMyAzIDEgMyAuLi4NCiMgJCBjb2xvciAgOiBPcmQuZmFjdG9yIHcvIDcgbGV2ZWxzICJEIjwiRSI8IkYiPCJHIjwuLjogMiAyIDIgNiA3IDcgNiA1IDIgNSAuLi4NCiMgJCBjbGFyaXR5OiBPcmQuZmFjdG9yIHcvIDggbGV2ZWxzICJJMSI8IlNJMiI8IlNJMSI8Li46IDIgMyA1IDQgMiA2IDcgMyA0IDUgLi4uDQojICQgZGVwdGggIDogbnVtICA2MS41IDU5LjggNTYuOSA2Mi40IDYzLjMgNjIuOCA2Mi4zIDYxLjkgNjUuMSA1OS40IC4uLg0KIyAkIHRhYmxlICA6IG51bSAgNTUgNjEgNjUgNTggNTggNTcgNTcgNTUgNjEgNjEgLi4uDQojICQgcHJpY2UgIDogaW50ICAzMjYgMzI2IDMyNyAzMzQgMzM1IDMzNiAzMzYgMzM3IDMzNyAzMzggLi4uDQojICQgeCAgICAgIDogbnVtICAzLjk1IDMuODkgNC4wNSA0LjIgNC4zNCAzLjk0IDMuOTUgNC4wNyAzLjg3IDQgLi4uDQojICQgeSAgICAgIDogbnVtICAzLjk4IDMuODQgNC4wNyA0LjIzIDQuMzUgMy45NiAzLjk4IDQuMTEgMy43OCA0LjA1IC4uLg0KIyAkIHogICAgICA6IG51bSAgMi40MyAyLjMxIDIuMzEgMi42MyAyLjc1IDIuNDggMi40NyAyLjUzIDIuNDkgMi4zOSAuLi4NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0tLTIuIO2RnOuzuOydhCDrp4zrk63ri4jri6QuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KdDIgPC0gZGlhbW9uZHNbc2FtcGxlKG5yb3codDEpLDEwMCksXQ0KIyDtkZzrs7jsnYQg7ZGc7KeR7ZW07IScIO2ajOq3gOuqqO2YleydhCDqtaztlanri4jri6QuDQojIHNhbXBsZSgp7ZWo7IiY66W8IOydtOyaqe2VqeuLiOuLpC4NCiMg7J207KCcIOuNsOydtO2EsOyEuO2KuOuhnOu2gO2EsCAxMDDqsJzsnZgg7J6E7J2Y7J2YIOuNsOydtO2EsOulvCDtkZzsp5HtlbTshJwNCiMgdDEg6rCd7LK07JeQIOuLtOyVmOyKteuLiOuLpC4NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0tLTMuIOywqO2KuOulvCDqt7jrpr3ri4jri6QuDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KZzEgPC0gZ2dwbG90KA0KICB0MixhZXMoeD1jYXJhdCwgeT0gcHJpY2UsIGNvbG9yID0gY29sb3IpKSsNCiAgZ2VvbV9wb2ludCgpK2dlb21fc21vb3RoKG1ldGhvZD0ibG0iKQ0KZzENCg0KZzIgPC0gZ2dwbG90KHQyLCBhZXMoeD1jYXJhdCwgeT0gcHJpY2UpKSArIA0KICBnZW9tX3BvaW50KGFlcyhjb2xvcj1jb2xvcikpICsgZ2VvbV9zbW9vdGgobWV0aG9kPSJsbSIpDQpnMg0KDQojPDzqsrDqs7zrtoTshJ0+Pg0KIyDsnbTroIfqsowg65CcIOydtOycoOuKlCDsg4Hsho3rrLjsoJzsnbjrjbAsIGdncGxvdCgp7ZWo7IiY7JeQIOuEo+ycvOuptCBjb2xvcuyduOyekOqwgA0KIyDsoITri6zrkJwg6rKD7J6F64uI64ukLg0KIyDtlZjsp4Drp4wgZ2dwbG90KCnrkqTsl5Ag7J6I64qUIGdlb21fcG9pbnQoKSDtlajsiJjsl5Ag7IKs7Jqp65CcIOyduOyekOqwkuydgCDqt7gg65Kk7JeQIA0KIyDsnojripQg7ZWo7IiY65Ok7JeQ6rKMIOyghOuLrOuQmOyngCDslYrsirXri4jri6QuDQojIOq3uOugh+q4sCDrlYzrrLjrjbAgZ2VvbV9wb2ludCgpIOyXkOyEnCDsoJXsnZjtlZwg7J247J6Q6rCAIGdlb21fc21vb3RoKCnsl5ANCiMg7KCE64us65CY7KeAIOyViuyVhCDtlZwg6rCc7J2YIO2ajOq3gOuqqO2YleunjCDrgpjsmKTqsowg65CcIOqyg+yeheuLiOuLpC4NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0tLTQuIO2ajOq3gOu2hOyEnSDrqqjtmJUg6rWs7ZWY6riwDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpsbSA8LSBsbShwcmljZX5jYXJhdCwgZGF0YSA9IHQyKQ0KbG0NCg0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojLS0tLTUuIOy2lOygley5mCDthYzsiqTtirgNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpwcmVkaWN0KGxtLGludGVydmFsPSJjb25maWRlbmNlIiwgbGV2ZWw9MC45NSkNCiM8POqysOqzvCDrtoTshJ0+Pg0KIyDrp4zslb0g7KCV7ZmV7ZWcIOqwkuycvOuhnCDsmIjsuKHqtazqsITsnYQg7JWM6rOgIOyLtuuLpOuptCBwcmVkaWN0KCkg7ZWo7IiY7JeQIOyduOyekA0KIyDrqocg6rCc66eMIOy2lOqwgO2VmOuptCDrkKnri4jri6QuIOyYiOy4oeqwkuydgCDtla3sg4Eg7Jik7LCo6rCAIOuwnOyDne2VmOq4sCDrp4jroKjsnbjrjbAsDQojIOydtOulvCDsi6DrorDqtazqsITsl5Ag65Ok7Ja06rCA64qUIOqwkuyduOyngCDslYTri4zsp4DrpbwNCiMgaW50ZXJ2YWw9ImNvbmZpZGVuY2UiIOunpOqwnOuzgOyImOulvCDso7zslrQg7ZmV7J247ZWgIOyImCDsnojri6QuDQojIO2GteqzhO2VmeyXkOyEnCDsoJDstpTsoJXrs7Tri6TripQg6rWs6rCE7LaU7KCV7J2EIOuNlCDsi6DrorDtlZzri6Tqs6Ag66eQ7ZWp64uI64ukLg0KIyDqt7jrnpjshJwg7JiI7Lih6rCS7J2EIOunkO2VoCDrlYzrj4Qg7Iug66Kw6rWs6rCE7Jy866GcIOunkO2VmOuKlCDrsKnrspXsnYQNCiMg7JiI7Lih6rWs6rCE7J2065286rOgIO2VqeuLiOuLpC4NCg0KYGBgDQo=