R Markdown

영어영문학과 20180191 정현아 2021년 3월 26일 과제를 시작하겠습니다.

  1. 데이터를 불러들여 mlu_data로 저장한 다음 카피본을 만든다.
library(readxl)
mlu_data <- read_excel("mlu.xls", sheet = 2)
mlu_data_new <- mlu_data
  1. age칼럼에는 몇 개의 요인이 있는가?
summary(as.factor(mlu_data$age))
## A0 A1 A2 
## 12 11 12

총 A0, A2, A2로 총 3개의 요인이 있습니다.

  1. utterances_mluutteranceswords_mluwords로 이름을 바꾸어라.
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
mlu_data <- rename(mlu_data, utterances = utterances_mlu)
mlu_data <- rename(mlu_data, words = words_mlu)
mlu_data
## # A tibble: 35 x 8
##    File    age   utterances words DurationTime DurationSec Types_freq Token_freq
##    <chr>   <chr>      <dbl> <dbl> <chr>              <dbl>      <dbl>      <dbl>
##  1 13_A0P~ A0           566  1290 "00:17:35"          1055        580       1346
##  2 21_A0P~ A0           565  1602 "00:20:44"          1244        737       1606
##  3 27_A0P~ A0           470   813 "00:12:07"           727        378        832
##  4 28_A0P~ A0           371   976 "00:11:53"           713        419        979
##  5 29_A0P~ A0           802  2239 "00:24:45"          1485        814       2253
##  6 2_A0P0~ A0           563  1243 "00:12:06\""          NA        425       1263
##  7 30_A0P~ A0           574  1705 "00:21:56"          1316        828       1712
##  8 31_A0P~ A0           539  1110 "00:10:54"           654        426       1124
##  9 35_A0P~ A0           705  1847 "00:20:46"          1246        622       1860
## 10 36_A0P~ A0           752  2120 "00:29:22"          1762       1014       2599
## # ... with 25 more rows
  1. utterance 에 평균 몇개의 단어가 들어있는지를 계산해서 ’mlu’라는 파생변수를 생성하라. (칼럼을 새로 추가하라는 말)
mlu_data$mlu <- (mlu_data$words/mlu_data$utterances)
mlu_data$mlu
##  [1] 2.279152 2.835398 1.729787 2.630728 2.791771 2.207815 2.970383 2.059369
##  [9] 2.619858 2.819149 2.900474 2.131092 3.028623 2.745407 2.357259 2.428571
## [17] 2.661836 2.402985 2.692402 2.639798 2.541573 2.804412 2.209559 3.476091
## [25] 2.932133 3.025510 2.755418 3.184507 2.687273 2.814748 2.465517 2.849296
## [33] 2.980741 3.353873 3.340580
  1. summary 명령을 이용하여 mlu 의 평균및 quartile 값을 파악하라.
summary(mlu_data$mlu)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.730   2.447   2.745   2.696   2.916   3.476
  1. mlu값을 4개의 등급으로 나누어 가장 문장 길이가 긴 그룹을 A, 그 다음 순서대로 B, C, D로 구분하여 파생변수 grade 칼럼을 생성하라.
mlu_data$grade <- ifelse(mlu_data$mlu <= 2.447, "A",
                  ifelse(mlu_data$mlu <= 2.745, "B",
                  ifelse(mlu_data$mlu <= 2.696, "C",
                  ifelse(mlu_data$mlu <= 3.5, "D"))))
head(mlu_data$grade)
## [1] "A" "D" "A" "B" "D" "A"
  1. agemlu 사이의 빈도분포를 table명령어를 이용하여 구하라.
table(mlu_data$age, mlu_data$mlu)
##     
##      1.72978723404255 2.05936920222635 2.13109243697479 2.20781527531083
##   A0                1                1                1                1
##   A1                0                0                0                0
##   A2                0                0                0                0
##     
##      2.20955882352941 2.2791519434629 2.35725938009788 2.40298507462687
##   A0                0               1                0                0
##   A1                1               0                1                1
##   A2                0               0                0                0
##     
##      2.42857142857143 2.46551724137931 2.54157303370787 2.61985815602837
##   A0                0                0                0                1
##   A1                1                0                1                0
##   A2                0                1                0                0
##     
##      2.63072776280323 2.63979848866499 2.66183574879227 2.68727272727273
##   A0                1                0                0                0
##   A1                0                1                1                0
##   A2                0                0                0                1
##     
##      2.69240196078431 2.74540682414698 2.75541795665635 2.79177057356608
##   A0                0                0                0                1
##   A1                1                1                0                0
##   A2                0                0                1                0
##     
##      2.80441176470588 2.81474820143885 2.81914893617021 2.8353982300885
##   A0                0                0                1               1
##   A1                1                0                0               0
##   A2                0                1                0               0
##     
##      2.84929577464789 2.90047393364929 2.93213296398892 2.97038327526132
##   A0                0                1                0                1
##   A1                0                0                0                0
##   A2                1                0                1                0
##     
##      2.98074074074074 3.02551020408163 3.02862254025045 3.18450704225352
##   A0                0                0                0                0
##   A1                0                0                1                0
##   A2                1                1                0                1
##     
##      3.34057971014493 3.35387323943662 3.47609147609148
##   A0                0                0                0
##   A1                0                0                0
##   A2                1                1                1
  1. qplot을 이용하여 각 나이 그룹을 x 축으로 하여 mlu 값의 분포를 그래프로 그려라.
qplot(mlu_data$age)

qplot(mlu_data$age, mlu_data$mlu)