mlu 분석

  1. 엑셀파일의 해당 sheet 를 불러들여와 주세요.
library(readxl)
mlu_data <- read_excel("mlu.xls", sheet = 2)
mlu_data_new <- mlu_data #혹시 모르니 원본 복사를 해놓았습니다.
  1. 문장 발화 갯수가 너무 적은 데이터는 수상해서 한번 그런 것들이 있는지 알아보고 싶어요. 주어진 녹음 시간 동안 500 문장 이하를 말한 엄마가 몇명이나 되는지 찾아주세요.
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 %>% filter(utterances_mlu<=500)
## # A tibble: 5 x 8
##   File        age   utterances_mlu words_mlu DurationTime DurationSec Types_freq
##   <chr>       <chr>          <dbl>     <dbl> <chr>              <dbl>      <dbl>
## 1 27_A0P06M.~ A0               470       813 00:12:07             727        378
## 2 28_A0P07M.~ A0               371       976 00:11:53             713        419
## 3 15_A1P05F.~ A1               381      1046 00:15:14             914        555
## 4 12_A2P04M.~ A2               481      1672 00:17:01            1021        921
## 5 18_A2P07M.~ A2               323       890 00:08:47             527        476
## # ... with 1 more variable: Token_freq <dbl>
  1. 데이터 중에서 DurationTime 과 DurationSec 는 필요하지 않으니 이것들을 제외하고 데이터 프레임을 다시 만들어서 새로운 이름으로 저장해주세요.
mlu_data %>% 
  select(-DurationTime) %>%
  select(-DurationSec)
## # A tibble: 35 x 6
##    File          age   utterances_mlu words_mlu Types_freq Token_freq
##    <chr>         <chr>          <dbl>     <dbl>      <dbl>      <dbl>
##  1 13_A0P04M.cha A0               566      1290        580       1346
##  2 21_A0P05M.cha A0               565      1602        737       1606
##  3 27_A0P06M.cha A0               470       813        378        832
##  4 28_A0P07M.cha A0               371       976        419        979
##  5 29_A0P08M.cha A0               802      2239        814       2253
##  6 2_A0P01M.cha  A0               563      1243        425       1263
##  7 30_A0P09F.cha A0               574      1705        828       1712
##  8 31_A0P10F.cha A0               539      1110        426       1124
##  9 35_A0P11M.cha A0               705      1847        622       1860
## 10 36_A0P12M.cha A0               752      2120       1014       2599
## # ... with 25 more rows
  1. 세그룹의 나이가 있는데 각 나이대 별로 평균 MLU를 알고 싶습니다. 이것은 두단계를 거쳐야 하겠죠? 먼저 지난번 숙제에서 한것처럼 words/utterance 해서 MLU 변수 칼럼을 추가해 주세요. 그 다음에 group_bymean 함수가 돌아가는 사람은 dplyr 의 명령어를 이용하고 그렇지 않은 사람은 aggregate 를 이용해서 각 그룹별로 평균MLU 를 구해주세요.
mlu_data %>% 
  mutate(mlu_mean = words_mlu/utterances_mlu) %>% 
  group_by(age) %>% 
  summarise(mlu_mean =mean(mlu_mean))
## # A tibble: 3 x 2
##   age   mlu_mean
##   <chr>    <dbl>
## 1 A0        2.50
## 2 A1        2.59
## 3 A2        2.99
  1. 마지막으로 각 그룹별로 token/type 비율의 평균을 알고 싶어요. 4번에서처럼 token/type 을 나타내는 칼럼을 추가해서 dplyr 혹은 aggregate 를 이용해서 구해주세요. token/type 비율은 한 단어를 몇번이나 반복해서 쓰는지의 지표가 됩니다.
mlu_data %>% 
  mutate(mlu_t = Token_freq/Types_freq) %>% 
  group_by(age) %>% 
  summarise(mlu_t =mean(mlu_t))
## # A tibble: 3 x 2
##   age   mlu_t
##   <chr> <dbl>
## 1 A0     2.57
## 2 A1     2.74
## 3 A2     2.66