토론게시판 활용과 학습성취도(학점)과의 상관관계

이러한 예측 모델을 벗어나는 값을 가진 학습자들에 대한 스토리 텔링

파일불러오기

“내 컴퓨터에 있는 파일의 위치 주소/toward.csv” <- 상황에 맞게 변형해서 사용할 것! header=true <- 이거는 첫 번째 줄 (ID, TLF 같은 변수명은 인식하지 않도록 하는 거) + 필요한 패키지 실행하기

GY_rawdata <-  read.csv("C:/R_workingspace/toward.csv", header=TRUE)

GRA 숫자로 바꿔주기

as.factor 함수 사용 <- “vector” 값을 factor로 변환 GY) 나는 GRA3를 만들어서, 아래와 같이 a,b,c로 다시 할당해주었어! 우리는 C+이하의 학점 받은 사람만 보는게 아니고, 얼마나 잘했는지의 정도도 중요한 것 같아서..! a: A+~A- b: B+~B- c: C+~ (D,F 포함)

=> 이렇게 할 경우, a=1, b=2, c=3으로 불러오게 돼. #### 즉, ’숫자가 클수록 학점이 낮은 것’이야.

결측치 확인하기

table(is.na) 함수 이용해서 결측치가 있는지 확인해봤는데, FALSE만 13020이었어. #### 결측치는 없는 것 같아! (이상치 확인은 일단 넘어갈게… 일이 많네,,,)

+본 과제에서는 어떤 변수의 대리변인으로 ROB, WOB, WBC를 사용했는지 구체적으로 명시해야 할 것 같아. +사실, 당연히 ’토론 게시판 활용 정도’가 될 것 같긴해.

선형회귀분석하기

목표: 종속변수(최종학점)에 가장 영향이 큰 독립변수 파악

1. ROB (게시판 접속 시점 간격의 규칙성)

lm(formula=GRA3~ROB, data=GY_rawdata)
## Warning in model.response(mf, "numeric"): using type = "numeric" with a factor
## response will be ignored
## Warning in Ops.factor(y, z$residuals): 요인(factors)에 대하여 의미있는 '-'가 아
## 닙니다.
## 
## Call:
## lm(formula = GRA3 ~ ROB, data = GY_rawdata)
## 
## Coefficients:
## (Intercept)          ROB  
##    1.547389     0.008518
GY_mode1 <- lm(formula=GRA3~ROB, data=GY_rawdata)
## Warning in model.response(mf, "numeric"): using type = "numeric" with a factor
## response will be ignored

## Warning in model.response(mf, "numeric"): 요인(factors)에 대하여 의미있는 '-'가
## 아닙니다.
GY_mode1
## 
## Call:
## lm(formula = GRA3 ~ ROB, data = GY_rawdata)
## 
## Coefficients:
## (Intercept)          ROB  
##    1.547389     0.008518
summary(GY_mode1)
## Warning in Ops.factor(r, 2): 요인(factors)에 대하여 의미있는 '^'가 아닙니다.
## 
## Call:
## lm(formula = GRA3 ~ ROB, data = GY_rawdata)
## 
## Residuals:
## Error in quantile.default(resid): (unordered) factors are not allowed

엥. 정적상관 관계로 0.008..? ->해석: 관련 없음(오히려 반대되는 결과)

참고로 규칙성(ROB)는 높을수록 좋은거고, GRA3는 낮을수록 좋은거니까 부적상관 관계(-)가 나와야 한다고 생각했어. Q. ROB가 높을수록 좋은거 맞겠지?

번외편. summary 오류 없애기!

GRA3을 factor에서 numeric으로 바꾸기

GY_rawdata$GRA3 <- as.numeric(GY_rawdata$GRA3)
GY_mode1 <- lm(formula=GRA3~ROB, data=GY_rawdata)
summary(GY_mode1)
## 
## Call:
## lm(formula = GRA3 ~ ROB, data = GY_rawdata)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.0158 -0.7770  0.1058  0.6667  1.1939 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1.547389   0.160313   9.652 8.02e-14 ***
## ROB         0.008518   0.002950   2.888  0.00539 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7515 on 60 degrees of freedom
## Multiple R-squared:  0.122,  Adjusted R-squared:  0.1074 
## F-statistic: 8.339 on 1 and 60 DF,  p-value: 0.005388

2. WOB (총 토론 게시판 포스팅수)

GY_mode2 <- lm(formula=GRA3~WOB, data=GY_rawdata)
## Error in eval(predvars, data, env): 객체 'WOB'를 찾을 수 없습니다
GY_mode2
## Error in eval(expr, envir, enclos): 객체 'GY_mode2'를 찾을 수 없습니다

엥? 여기 WOB가 없는데???????

3. WBC (총 토론 게시판 덧글수)

GY_mode3 <- lm(formula=GRA3~WBC, data=GY_rawdata)
GY_mode3
## 
## Call:
## lm(formula = GRA3 ~ WBC, data = GY_rawdata)
## 
## Coefficients:
## (Intercept)          WBC  
##     2.31174     -0.01603
summary(GY_mode3)
## 
## Call:
## lm(formula = GRA3 ~ WBC, data = GY_rawdata)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.16751 -0.77887 -0.04248  0.81570  1.34534 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.311743   0.175752  13.153  < 2e-16 ***
## WBC         -0.016026   0.006005  -2.669  0.00977 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7583 on 60 degrees of freedom
## Multiple R-squared:  0.1061, Adjusted R-squared:  0.09123 
## F-statistic: 7.123 on 1 and 60 DF,  p-value: 0.009772

오, 여기는 그래도 1% 정도..관련이 있네. ->해석: 거의 관련 없음

아무래도 이거, 토론게시판 활용하고 학점은 별로 관련이 없는것 같은데??????

게시판 활용과의 관계 알아보기

4. VOB (게시판 방문 빈도)

GY_mode4 <- lm(formula=GRA3~VOB, data=GY_rawdata)
GY_mode4
## 
## Call:
## lm(formula = GRA3 ~ VOB, data = GY_rawdata)
## 
## Coefficients:
## (Intercept)          VOB  
##    2.898413    -0.003269
summary(GY_mode4)
## 
## Call:
## lm(formula = GRA3 ~ VOB, data = GY_rawdata)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.32961 -0.54914 -0.03213  0.60419  1.43533 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.8984134  0.2399782   12.08  < 2e-16 ***
## VOB         -0.0032690  0.0007446   -4.39 4.67e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6978 on 60 degrees of freedom
## Multiple R-squared:  0.2431, Adjusted R-squared:  0.2305 
## F-statistic: 19.27 on 1 and 60 DF,  p-value: 4.67e-05

오, 여기는 0.3%정도 관련있네 ->해석: 관련 없음

5. TSB (게시판 방문 시간)

GY_mode5 <- lm(formula=GRA3~TSB, data=GY_rawdata)
GY_mode5
## 
## Call:
## lm(formula = GRA3 ~ TSB, data = GY_rawdata)
## 
## Coefficients:
## (Intercept)          TSB  
##   2.447e+00   -5.583e-06
summary(GY_mode5)
## 
## Call:
## lm(formula = GRA3 ~ TSB, data = GY_rawdata)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.27539 -0.69011 -0.05167  0.75619  1.33200 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.447e+00  2.242e-01  10.915    7e-16 ***
## TSB         -5.583e-06  2.141e-06  -2.607   0.0115 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7601 on 60 degrees of freedom
## Multiple R-squared:  0.1018, Adjusted R-squared:  0.08679 
## F-statistic: 6.797 on 1 and 60 DF,  p-value: 0.0115

헐! 이거 완련 관련있네. -> 해석: 학점 단계가 올라갈 때마다 (ex. C->B, B->A) 게시판 방문 시간이 5씩 증가함. => 즉, 게시판 방문 시간과 학업성취도간 관련이 있다고 볼 수 있음 + P-value 값도, 0.0115로 0.05보다 작으니까 신뢰 가능할 것 같아!!

일단 여기까지.

#’이상치’구하기

library(dplyr)
## 
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

게시판 방문 빈도(VOB)

GY_rawdata %>% filter(GY_rawdata$VOB >= 300)  %>% select(ID, VOB, GRA)
##    ID VOB GRA
## 1   3 409  A+
## 2   4 351  B+
## 3   8 418  A+
## 4  10 422  A+
## 5  12 431  A+
## 6  13 649  A+
## 7  14 300  B+
## 8  16 419  B+
## 9  17 339  A+
## 10 18 476  B+
## 11 20 582  A+
## 12 21 499  A+
## 13 25 391  B+
## 14 28 436  B+
## 15 29 537  B+
## 16 31 360  A+
## 17 32 325  C+
## 18 36 347  A+
## 19 39 356  B+
## 20 41 344  A+
## 21 42 408  C0
## 22 43 376  A+
## 23 44 390  A+
## 24 46 353  A+
## 25 57 309  B+
## 26 59 411  A+
## 27 62 460  B+

게시판 방문 시간(TSB)

GY_rawdata %>% filter(GY_rawdata$TSB >= 94486)  %>% select(ID, TSB, GRA)
##    ID    TSB GRA
## 1   3 158809  A+
## 2   6 116441  B+
## 3   8 134252  A+
## 4  10 110632  A+
## 5  12 101865  A+
## 6  13 248716  A+
## 7  16 150726  B+
## 8  18 101508  B+
## 9  20 111926  A+
## 10 21 146003  A+
## 11 23 127613  C0
## 12 28 115750  B+
## 13 29 172113  B+
## 14 31 194901  A+
## 15 33 103987  B+
## 16 35 139510  C0
## 17 36  99776  A+
## 18 39 142338  B+
## 19 42 122959  C0
## 20 43 206775  A+
## 21 44 120335  A+
## 22 46 111757  A+
## 23 47 136947  C+
## 24 57 104828  B+
## 25 59 139445  A+
## 26 62 148597  B+

토론게시판 덧글수(WBC)

GY_rawdata %>% filter(GY_rawdata$WBC >= 24)  %>% select(ID, WBC, GRA)
##    ID WBC GRA
## 1   3  79  A+
## 2   6  31  B+
## 3   8  24  A+
## 4  10  32  A+
## 5  12  56  A+
## 6  13  42  A+
## 7  14  31  B+
## 8  15  26  B+
## 9  17  31  A+
## 10 18  27  B+
## 11 21  58  A+
## 12 23  29  C0
## 13 25  71  B+
## 14 29  50  B+
## 15 31  28  A+
## 16 33  24  B+
## 17 36  24  A+
## 18 37  24  C0
## 19 39  56  B+
## 20 40  37  A+
## 21 41  27  A+
## 22 45  29  A+
## 23 47  25  C+
## 24 48  26  B+
## 25 51  41  C+
## 26 55  49  A+
## 27 57  46  B+
## 28 62  26  B+

평균 글자수(ALP)

GY_rawdata %>% filter(GY_rawdata$ALP >= 5457)  %>% select(ID, ALP, GRA)
##    ID   ALP GRA
## 1   3  6916  A+
## 2   6  7540  B+
## 3  10  9118  A+
## 4  12 16714  A+
## 5  14  7902  B+
## 6  15  6989  B+
## 7  18 10249  B+
## 8  20  6777  A+
## 9  23  5775  C0
## 10 25  7871  B+
## 11 29  6734  B+
## 12 30  8326  B+
## 13 33  5834  B+
## 14 34  9135   D
## 15 36  5619  A+
## 16 37  9086  C0
## 17 40 10842  A+
## 18 41  6522  A+
## 19 42  8875  C0
## 20 43 11571  A+
## 21 50  8678  C+
## 22 55 13582  A+
## 23 57 10421  B+
## 24 59  9978  A+
## 25 60  5712  A-
## 26 62  9459  B+