빅데이터 3일차

sqldf()

#install.packages("sqldf")
require(sqldf)
## Loading required package: sqldf
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite

sqldf() 함수를 이용하여 여러 데이터를 보여줄 수 있다.

sqldf("
      select * FROM iris
      ")
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            5.1         3.5          1.4         0.2     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 5            5.0         3.6          1.4         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 14           4.3         3.0          1.1         0.1     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 23           4.6         3.6          1.0         0.2     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 107          4.9         2.5          4.5         1.7  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica
str(Orange)
## Classes 'nfnGroupedData', 'nfGroupedData', 'groupedData' and 'data.frame':   35 obs. of  3 variables:
##  $ Tree         : Ord.factor w/ 5 levels "3"<"1"<"5"<"2"<..: 2 2 2 2 2 2 2 4 4 4 ...
##  $ age          : num  118 484 664 1004 1231 ...
##  $ circumference: num  30 58 87 115 120 142 145 33 69 111 ...
##  - attr(*, "formula")=Class 'formula'  language circumference ~ age | Tree
##   .. ..- attr(*, ".Environment")=<environment: R_EmptyEnv> 
##  - attr(*, "labels")=List of 2
##   ..$ x: chr "Time since December 31, 1968"
##   ..$ y: chr "Trunk circumference"
##  - attr(*, "units")=List of 2
##   ..$ x: chr "(days)"
##   ..$ y: chr "(mm)"
summary(Orange)
##  Tree       age         circumference  
##  3:7   Min.   : 118.0   Min.   : 30.0  
##  1:7   1st Qu.: 484.0   1st Qu.: 65.5  
##  5:7   Median :1004.0   Median :115.0  
##  2:7   Mean   : 922.1   Mean   :115.9  
##  4:7   3rd Qu.:1372.0   3rd Qu.:161.5  
##        Max.   :1582.0   Max.   :214.0
sqldf(
  "
  SELECT age, circumference
  FROM Orange
  WHERE Tree = 1
  ORDER BY circumference ASC"
)
##    age circumference
## 1  118            30
## 2  484            58
## 3  664            87
## 4 1004           115
## 5 1231           120
## 6 1372           142
## 7 1582           145

이를 dplyr()와 함께 복합적으로 사용하여 표현할 수 있다. 앞서 2일차에 배웠던 dplyr()를 복습해보도록 한다.

require(dplyr)
## Loading required package: 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
Orange %>%
  filter(Tree == 1) %>%
  select(age, circumference) %>%
  arrange(circumference)
##    age circumference
## 1  118            30
## 2  484            58
## 3  664            87
## 4 1004           115
## 5 1231           120
## 6 1372           142
## 7 1582           145

sqldf()에서 조건을 붙이는 다음과 같은 방식을 알아보자.

head(warpbreaks)
##   breaks wool tension
## 1     26    A       L
## 2     30    A       L
## 3     54    A       L
## 4     25    A       L
## 5     70    A       L
## 6     52    A       L
sqldf("select * from warpbreaks limit 6")
##   breaks wool tension
## 1     26    A       L
## 2     30    A       L
## 3     54    A       L
## 4     25    A       L
## 5     70    A       L
## 6     52    A       L
subset(CO2, grepl("Qn", Plant))
##    Plant   Type  Treatment conc uptake
## 1    Qn1 Quebec nonchilled   95   16.0
## 2    Qn1 Quebec nonchilled  175   30.4
## 3    Qn1 Quebec nonchilled  250   34.8
## 4    Qn1 Quebec nonchilled  350   37.2
## 5    Qn1 Quebec nonchilled  500   35.3
## 6    Qn1 Quebec nonchilled  675   39.2
## 7    Qn1 Quebec nonchilled 1000   39.7
## 8    Qn2 Quebec nonchilled   95   13.6
## 9    Qn2 Quebec nonchilled  175   27.3
## 10   Qn2 Quebec nonchilled  250   37.1
## 11   Qn2 Quebec nonchilled  350   41.8
## 12   Qn2 Quebec nonchilled  500   40.6
## 13   Qn2 Quebec nonchilled  675   41.4
## 14   Qn2 Quebec nonchilled 1000   44.3
## 15   Qn3 Quebec nonchilled   95   16.2
## 16   Qn3 Quebec nonchilled  175   32.4
## 17   Qn3 Quebec nonchilled  250   40.3
## 18   Qn3 Quebec nonchilled  350   42.1
## 19   Qn3 Quebec nonchilled  500   42.9
## 20   Qn3 Quebec nonchilled  675   43.9
## 21   Qn3 Quebec nonchilled 1000   45.5
sqldf("
      select * from CO2 where plant like 'Qn%'
      ")
##    Plant   Type  Treatment conc uptake
## 1    Qn1 Quebec nonchilled   95   16.0
## 2    Qn1 Quebec nonchilled  175   30.4
## 3    Qn1 Quebec nonchilled  250   34.8
## 4    Qn1 Quebec nonchilled  350   37.2
## 5    Qn1 Quebec nonchilled  500   35.3
## 6    Qn1 Quebec nonchilled  675   39.2
## 7    Qn1 Quebec nonchilled 1000   39.7
## 8    Qn2 Quebec nonchilled   95   13.6
## 9    Qn2 Quebec nonchilled  175   27.3
## 10   Qn2 Quebec nonchilled  250   37.1
## 11   Qn2 Quebec nonchilled  350   41.8
## 12   Qn2 Quebec nonchilled  500   40.6
## 13   Qn2 Quebec nonchilled  675   41.4
## 14   Qn2 Quebec nonchilled 1000   44.3
## 15   Qn3 Quebec nonchilled   95   16.2
## 16   Qn3 Quebec nonchilled  175   32.4
## 17   Qn3 Quebec nonchilled  250   40.3
## 18   Qn3 Quebec nonchilled  350   42.1
## 19   Qn3 Quebec nonchilled  500   42.9
## 20   Qn3 Quebec nonchilled  675   43.9
## 21   Qn3 Quebec nonchilled 1000   45.5
table(iris$Species)
## 
##     setosa versicolor  virginica 
##         50         50         50
subset(iris, Species %in% c("setosa","virginica"))
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 1            5.1         3.5          1.4         0.2    setosa
## 2            4.9         3.0          1.4         0.2    setosa
## 3            4.7         3.2          1.3         0.2    setosa
## 4            4.6         3.1          1.5         0.2    setosa
## 5            5.0         3.6          1.4         0.2    setosa
## 6            5.4         3.9          1.7         0.4    setosa
## 7            4.6         3.4          1.4         0.3    setosa
## 8            5.0         3.4          1.5         0.2    setosa
## 9            4.4         2.9          1.4         0.2    setosa
## 10           4.9         3.1          1.5         0.1    setosa
## 11           5.4         3.7          1.5         0.2    setosa
## 12           4.8         3.4          1.6         0.2    setosa
## 13           4.8         3.0          1.4         0.1    setosa
## 14           4.3         3.0          1.1         0.1    setosa
## 15           5.8         4.0          1.2         0.2    setosa
## 16           5.7         4.4          1.5         0.4    setosa
## 17           5.4         3.9          1.3         0.4    setosa
## 18           5.1         3.5          1.4         0.3    setosa
## 19           5.7         3.8          1.7         0.3    setosa
## 20           5.1         3.8          1.5         0.3    setosa
## 21           5.4         3.4          1.7         0.2    setosa
## 22           5.1         3.7          1.5         0.4    setosa
## 23           4.6         3.6          1.0         0.2    setosa
## 24           5.1         3.3          1.7         0.5    setosa
## 25           4.8         3.4          1.9         0.2    setosa
## 26           5.0         3.0          1.6         0.2    setosa
## 27           5.0         3.4          1.6         0.4    setosa
## 28           5.2         3.5          1.5         0.2    setosa
## 29           5.2         3.4          1.4         0.2    setosa
## 30           4.7         3.2          1.6         0.2    setosa
## 31           4.8         3.1          1.6         0.2    setosa
## 32           5.4         3.4          1.5         0.4    setosa
## 33           5.2         4.1          1.5         0.1    setosa
## 34           5.5         4.2          1.4         0.2    setosa
## 35           4.9         3.1          1.5         0.2    setosa
## 36           5.0         3.2          1.2         0.2    setosa
## 37           5.5         3.5          1.3         0.2    setosa
## 38           4.9         3.6          1.4         0.1    setosa
## 39           4.4         3.0          1.3         0.2    setosa
## 40           5.1         3.4          1.5         0.2    setosa
## 41           5.0         3.5          1.3         0.3    setosa
## 42           4.5         2.3          1.3         0.3    setosa
## 43           4.4         3.2          1.3         0.2    setosa
## 44           5.0         3.5          1.6         0.6    setosa
## 45           5.1         3.8          1.9         0.4    setosa
## 46           4.8         3.0          1.4         0.3    setosa
## 47           5.1         3.8          1.6         0.2    setosa
## 48           4.6         3.2          1.4         0.2    setosa
## 49           5.3         3.7          1.5         0.2    setosa
## 50           5.0         3.3          1.4         0.2    setosa
## 101          6.3         3.3          6.0         2.5 virginica
## 102          5.8         2.7          5.1         1.9 virginica
## 103          7.1         3.0          5.9         2.1 virginica
## 104          6.3         2.9          5.6         1.8 virginica
## 105          6.5         3.0          5.8         2.2 virginica
## 106          7.6         3.0          6.6         2.1 virginica
## 107          4.9         2.5          4.5         1.7 virginica
## 108          7.3         2.9          6.3         1.8 virginica
## 109          6.7         2.5          5.8         1.8 virginica
## 110          7.2         3.6          6.1         2.5 virginica
## 111          6.5         3.2          5.1         2.0 virginica
## 112          6.4         2.7          5.3         1.9 virginica
## 113          6.8         3.0          5.5         2.1 virginica
## 114          5.7         2.5          5.0         2.0 virginica
## 115          5.8         2.8          5.1         2.4 virginica
## 116          6.4         3.2          5.3         2.3 virginica
## 117          6.5         3.0          5.5         1.8 virginica
## 118          7.7         3.8          6.7         2.2 virginica
## 119          7.7         2.6          6.9         2.3 virginica
## 120          6.0         2.2          5.0         1.5 virginica
## 121          6.9         3.2          5.7         2.3 virginica
## 122          5.6         2.8          4.9         2.0 virginica
## 123          7.7         2.8          6.7         2.0 virginica
## 124          6.3         2.7          4.9         1.8 virginica
## 125          6.7         3.3          5.7         2.1 virginica
## 126          7.2         3.2          6.0         1.8 virginica
## 127          6.2         2.8          4.8         1.8 virginica
## 128          6.1         3.0          4.9         1.8 virginica
## 129          6.4         2.8          5.6         2.1 virginica
## 130          7.2         3.0          5.8         1.6 virginica
## 131          7.4         2.8          6.1         1.9 virginica
## 132          7.9         3.8          6.4         2.0 virginica
## 133          6.4         2.8          5.6         2.2 virginica
## 134          6.3         2.8          5.1         1.5 virginica
## 135          6.1         2.6          5.6         1.4 virginica
## 136          7.7         3.0          6.1         2.3 virginica
## 137          6.3         3.4          5.6         2.4 virginica
## 138          6.4         3.1          5.5         1.8 virginica
## 139          6.0         3.0          4.8         1.8 virginica
## 140          6.9         3.1          5.4         2.1 virginica
## 141          6.7         3.1          5.6         2.4 virginica
## 142          6.9         3.1          5.1         2.3 virginica
## 143          5.8         2.7          5.1         1.9 virginica
## 144          6.8         3.2          5.9         2.3 virginica
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica
sqldf("
      select * from warpbreaks
      where breaks between 20 and 30
      ")
##    breaks wool tension
## 1      26    A       L
## 2      30    A       L
## 3      25    A       L
## 4      26    A       L
## 5      21    A       M
## 6      29    A       M
## 7      30    A       M
## 8      21    A       H
## 9      24    A       H
## 10     28    A       H
## 11     26    A       H
## 12     27    B       L
## 13     29    B       L
## 14     29    B       L
## 15     20    B       L
## 16     26    B       M
## 17     28    B       M
## 18     21    B       M
## 19     29    B       M
## 20     20    B       H
## 21     21    B       H
## 22     24    B       H
## 23     28    B       H
#install.packages("PASWR")
data(titanic3, package="PASWR")
head(titanic3)
##   pclass survived                            name    sex     age sibsp parch
## 1    1st        1   Allen, Miss. Elisabeth Walton female 29.0000     0     0
## 2    1st        1  Allison, Master. Hudson Trevor   male  0.9167     1     2
## 3    1st        0    Allison, Miss. Helen Loraine female  2.0000     1     2
## 4    1st        0 Allison, Mr. Hudson Joshua Crei   male 30.0000     1     2
## 5    1st        0 Allison, Mrs. Hudson J C (Bessi female 25.0000     1     2
## 6    1st        1             Anderson, Mr. Harry   male 48.0000     0     0
##   ticket     fare   cabin    embarked boat body                       home.dest
## 1  24160 211.3375      B5 Southampton    2   NA                    St Louis, MO
## 2 113781 151.5500 C22 C26 Southampton   11   NA Montreal, PQ / Chesterville, ON
## 3 113781 151.5500 C22 C26 Southampton        NA Montreal, PQ / Chesterville, ON
## 4 113781 151.5500 C22 C26 Southampton       135 Montreal, PQ / Chesterville, ON
## 5 113781 151.5500 C22 C26 Southampton        NA Montreal, PQ / Chesterville, ON
## 6  19952  26.5500     E12 Southampton    3   NA                    New York, NY
sqldf("
      select age, count(*)
      from titanic3
      where age is not null
      group by age
      ")
##        age count(*)
## 1   0.1667        1
## 2   0.3333        1
## 3   0.4167        1
## 4   0.6667        1
## 5   0.7500        3
## 6   0.8333        3
## 7   0.9167        2
## 8   1.0000       10
## 9   2.0000       12
## 10  3.0000        7
## 11  4.0000       10
## 12  5.0000        5
## 13  6.0000        6
## 14  7.0000        4
## 15  8.0000        6
## 16  9.0000       10
## 17 10.0000        4
## 18 11.0000        4
## 19 11.5000        1
## 20 12.0000        3
## 21 13.0000        5
## 22 14.0000        8
## 23 14.5000        2
## 24 15.0000        6
## 25 16.0000       19
## 26 17.0000       20
## 27 18.0000       39
## 28 18.5000        3
## 29 19.0000       29
## 30 20.0000       23
## 31 20.5000        1
## 32 21.0000       41
## 33 22.0000       43
## 34 22.5000        1
## 35 23.0000       26
## 36 23.5000        1
## 37 24.0000       47
## 38 24.5000        1
## 39 25.0000       34
## 40 26.0000       30
## 41 26.5000        1
## 42 27.0000       30
## 43 28.0000       32
## 44 28.5000        3
## 45 29.0000       30
## 46 30.0000       40
## 47 30.5000        2
## 48 31.0000       23
## 49 32.0000       24
## 50 32.5000        4
## 51 33.0000       21
## 52 34.0000       16
## 53 34.5000        2
## 54 35.0000       23
## 55 36.0000       31
## 56 36.5000        2
## 57 37.0000        9
## 58 38.0000       14
## 59 38.5000        1
## 60 39.0000       20
## 61 40.0000       18
## 62 40.5000        3
## 63 41.0000       11
## 64 42.0000       18
## 65 43.0000        9
## 66 44.0000       10
## 67 45.0000       21
## 68 45.5000        2
## 69 46.0000        6
## 70 47.0000       14
## 71 48.0000       14
## 72 49.0000        9
## 73 50.0000       15
## 74 51.0000        8
## 75 52.0000        6
## 76 53.0000        4
## 77 54.0000       10
## 78 55.0000        8
## 79 55.5000        1
## 80 56.0000        4
## 81 57.0000        5
## 82 58.0000        6
## 83 59.0000        3
## 84 60.0000        7
## 85 60.5000        1
## 86 61.0000        5
## 87 62.0000        5
## 88 63.0000        4
## 89 64.0000        5
## 90 65.0000        3
## 91 66.0000        1
## 92 67.0000        1
## 93 70.0000        2
## 94 70.5000        1
## 95 71.0000        2
## 96 74.0000        1
## 97 76.0000        1
## 98 80.0000        1
DF <- sqldf("
  select age from titanic3 where age !='NA'
            ")
DF
##          age
## 1    29.0000
## 2     0.9167
## 3     2.0000
## 4    30.0000
## 5    25.0000
## 6    48.0000
## 7    63.0000
## 8    39.0000
## 9    53.0000
## 10   71.0000
## 11   47.0000
## 12   18.0000
## 13   24.0000
## 14   26.0000
## 15   80.0000
## 16   24.0000
## 17   50.0000
## 18   32.0000
## 19   36.0000
## 20   37.0000
## 21   47.0000
## 22   26.0000
## 23   42.0000
## 24   29.0000
## 25   25.0000
## 26   25.0000
## 27   19.0000
## 28   35.0000
## 29   28.0000
## 30   45.0000
## 31   40.0000
## 32   30.0000
## 33   58.0000
## 34   42.0000
## 35   45.0000
## 36   22.0000
## 37   41.0000
## 38   48.0000
## 39   44.0000
## 40   59.0000
## 41   60.0000
## 42   41.0000
## 43   45.0000
## 44   42.0000
## 45   53.0000
## 46   36.0000
## 47   58.0000
## 48   33.0000
## 49   28.0000
## 50   17.0000
## 51   11.0000
## 52   14.0000
## 53   36.0000
## 54   36.0000
## 55   49.0000
## 56   36.0000
## 57   76.0000
## 58   46.0000
## 59   47.0000
## 60   27.0000
## 61   33.0000
## 62   36.0000
## 63   30.0000
## 64   45.0000
## 65   27.0000
## 66   26.0000
## 67   22.0000
## 68   47.0000
## 69   39.0000
## 70   37.0000
## 71   64.0000
## 72   55.0000
## 73   70.0000
## 74   36.0000
## 75   64.0000
## 76   39.0000
## 77   38.0000
## 78   51.0000
## 79   27.0000
## 80   33.0000
## 81   31.0000
## 82   27.0000
## 83   31.0000
## 84   17.0000
## 85   53.0000
## 86    4.0000
## 87   54.0000
## 88   50.0000
## 89   27.0000
## 90   48.0000
## 91   48.0000
## 92   49.0000
## 93   39.0000
## 94   23.0000
## 95   38.0000
## 96   54.0000
## 97   36.0000
## 98   36.0000
## 99   30.0000
## 100  24.0000
## 101  28.0000
## 102  23.0000
## 103  19.0000
## 104  64.0000
## 105  60.0000
## 106  30.0000
## 107  50.0000
## 108  43.0000
## 109  22.0000
## 110  60.0000
## 111  48.0000
## 112  37.0000
## 113  35.0000
## 114  47.0000
## 115  35.0000
## 116  22.0000
## 117  45.0000
## 118  24.0000
## 119  49.0000
## 120  71.0000
## 121  53.0000
## 122  19.0000
## 123  38.0000
## 124  58.0000
## 125  23.0000
## 126  45.0000
## 127  46.0000
## 128  25.0000
## 129  25.0000
## 130  48.0000
## 131  49.0000
## 132  45.0000
## 133  35.0000
## 134  40.0000
## 135  27.0000
## 136  24.0000
## 137  55.0000
## 138  52.0000
## 139  42.0000
## 140  55.0000
## 141  16.0000
## 142  44.0000
## 143  51.0000
## 144  42.0000
## 145  35.0000
## 146  35.0000
## 147  38.0000
## 148  35.0000
## 149  38.0000
## 150  50.0000
## 151  49.0000
## 152  46.0000
## 153  50.0000
## 154  32.5000
## 155  58.0000
## 156  41.0000
## 157  42.0000
## 158  45.0000
## 159  39.0000
## 160  49.0000
## 161  30.0000
## 162  35.0000
## 163  42.0000
## 164  55.0000
## 165  16.0000
## 166  51.0000
## 167  29.0000
## 168  21.0000
## 169  30.0000
## 170  58.0000
## 171  15.0000
## 172  30.0000
## 173  16.0000
## 174  19.0000
## 175  18.0000
## 176  24.0000
## 177  46.0000
## 178  54.0000
## 179  36.0000
## 180  28.0000
## 181  65.0000
## 182  44.0000
## 183  33.0000
## 184  37.0000
## 185  30.0000
## 186  55.0000
## 187  47.0000
## 188  37.0000
## 189  31.0000
## 190  23.0000
## 191  58.0000
## 192  19.0000
## 193  64.0000
## 194  39.0000
## 195  22.0000
## 196  65.0000
## 197  28.5000
## 198  45.5000
## 199  23.0000
## 200  29.0000
## 201  22.0000
## 202  18.0000
## 203  17.0000
## 204  30.0000
## 205  52.0000
## 206  47.0000
## 207  56.0000
## 208  38.0000
## 209  22.0000
## 210  43.0000
## 211  31.0000
## 212  45.0000
## 213  33.0000
## 214  46.0000
## 215  36.0000
## 216  33.0000
## 217  55.0000
## 218  54.0000
## 219  33.0000
## 220  13.0000
## 221  18.0000
## 222  21.0000
## 223  61.0000
## 224  48.0000
## 225  24.0000
## 226  35.0000
## 227  30.0000
## 228  34.0000
## 229  40.0000
## 230  35.0000
## 231  50.0000
## 232  39.0000
## 233  56.0000
## 234  28.0000
## 235  56.0000
## 236  56.0000
## 237  24.0000
## 238  18.0000
## 239  24.0000
## 240  23.0000
## 241   6.0000
## 242  45.0000
## 243  40.0000
## 244  57.0000
## 245  32.0000
## 246  62.0000
## 247  54.0000
## 248  43.0000
## 249  52.0000
## 250  62.0000
## 251  67.0000
## 252  63.0000
## 253  61.0000
## 254  48.0000
## 255  18.0000
## 256  52.0000
## 257  39.0000
## 258  48.0000
## 259  49.0000
## 260  17.0000
## 261  39.0000
## 262  31.0000
## 263  40.0000
## 264  61.0000
## 265  47.0000
## 266  35.0000
## 267  64.0000
## 268  60.0000
## 269  60.0000
## 270  54.0000
## 271  21.0000
## 272  55.0000
## 273  31.0000
## 274  57.0000
## 275  45.0000
## 276  50.0000
## 277  27.0000
## 278  50.0000
## 279  21.0000
## 280  51.0000
## 281  21.0000
## 282  31.0000
## 283  62.0000
## 284  36.0000
## 285  30.0000
## 286  28.0000
## 287  30.0000
## 288  18.0000
## 289  25.0000
## 290  34.0000
## 291  36.0000
## 292  57.0000
## 293  18.0000
## 294  23.0000
## 295  36.0000
## 296  28.0000
## 297  51.0000
## 298  32.0000
## 299  19.0000
## 300  28.0000
## 301   1.0000
## 302   4.0000
## 303  12.0000
## 304  36.0000
## 305  34.0000
## 306  19.0000
## 307  23.0000
## 308  26.0000
## 309  42.0000
## 310  27.0000
## 311  24.0000
## 312  15.0000
## 313  60.0000
## 314  40.0000
## 315  20.0000
## 316  25.0000
## 317  36.0000
## 318  25.0000
## 319  42.0000
## 320  42.0000
## 321   0.8333
## 322  26.0000
## 323  22.0000
## 324  35.0000
## 325  19.0000
## 326  44.0000
## 327  54.0000
## 328  52.0000
## 329  37.0000
## 330  29.0000
## 331  25.0000
## 332  45.0000
## 333  29.0000
## 334  28.0000
## 335  29.0000
## 336  28.0000
## 337  24.0000
## 338   8.0000
## 339  31.0000
## 340  31.0000
## 341  22.0000
## 342  30.0000
## 343  21.0000
## 344   8.0000
## 345  18.0000
## 346  48.0000
## 347  28.0000
## 348  32.0000
## 349  17.0000
## 350  29.0000
## 351  24.0000
## 352  25.0000
## 353  18.0000
## 354  18.0000
## 355  34.0000
## 356  54.0000
## 357   8.0000
## 358  42.0000
## 359  34.0000
## 360  27.0000
## 361  30.0000
## 362  23.0000
## 363  21.0000
## 364  18.0000
## 365  40.0000
## 366  29.0000
## 367  18.0000
## 368  36.0000
## 369  38.0000
## 370  35.0000
## 371  38.0000
## 372  34.0000
## 373  34.0000
## 374  16.0000
## 375  26.0000
## 376  47.0000
## 377  21.0000
## 378  21.0000
## 379  24.0000
## 380  24.0000
## 381  34.0000
## 382  30.0000
## 383  52.0000
## 384  30.0000
## 385   0.6667
## 386  24.0000
## 387  44.0000
## 388   6.0000
## 389  28.0000
## 390  62.0000
## 391  30.0000
## 392   7.0000
## 393  43.0000
## 394  45.0000
## 395  24.0000
## 396  24.0000
## 397  49.0000
## 398  48.0000
## 399  55.0000
## 400  24.0000
## 401  32.0000
## 402  21.0000
## 403  18.0000
## 404  20.0000
## 405  23.0000
## 406  36.0000
## 407  54.0000
## 408  50.0000
## 409  44.0000
## 410  29.0000
## 411  21.0000
## 412  42.0000
## 413  63.0000
## 414  60.0000
## 415  33.0000
## 416  17.0000
## 417  42.0000
## 418  24.0000
## 419  47.0000
## 420  24.0000
## 421  22.0000
## 422  32.0000
## 423  23.0000
## 424  34.0000
## 425  24.0000
## 426  22.0000
## 427  35.0000
## 428  45.0000
## 429  57.0000
## 430  31.0000
## 431  26.0000
## 432  30.0000
## 433   1.0000
## 434   3.0000
## 435  25.0000
## 436  22.0000
## 437  17.0000
## 438  34.0000
## 439  36.0000
## 440  24.0000
## 441  61.0000
## 442  50.0000
## 443  42.0000
## 444  57.0000
## 445   1.0000
## 446  31.0000
## 447  24.0000
## 448  30.0000
## 449  40.0000
## 450  32.0000
## 451  30.0000
## 452  46.0000
## 453  13.0000
## 454  41.0000
## 455  19.0000
## 456  39.0000
## 457  48.0000
## 458  70.0000
## 459  27.0000
## 460  54.0000
## 461  39.0000
## 462  16.0000
## 463  62.0000
## 464  32.5000
## 465  14.0000
## 466   2.0000
## 467   3.0000
## 468  36.5000
## 469  26.0000
## 470  19.0000
## 471  28.0000
## 472  20.0000
## 473  29.0000
## 474  39.0000
## 475  22.0000
## 476  23.0000
## 477  29.0000
## 478  28.0000
## 479  50.0000
## 480  19.0000
## 481  41.0000
## 482  21.0000
## 483  19.0000
## 484  43.0000
## 485  32.0000
## 486  34.0000
## 487  30.0000
## 488  27.0000
## 489   2.0000
## 490   8.0000
## 491  33.0000
## 492  36.0000
## 493  34.0000
## 494  30.0000
## 495  28.0000
## 496  23.0000
## 497   0.8333
## 498   3.0000
## 499  24.0000
## 500  50.0000
## 501  19.0000
## 502  21.0000
## 503  26.0000
## 504  25.0000
## 505  27.0000
## 506  25.0000
## 507  18.0000
## 508  20.0000
## 509  30.0000
## 510  59.0000
## 511  30.0000
## 512  35.0000
## 513  40.0000
## 514  25.0000
## 515  41.0000
## 516  25.0000
## 517  18.5000
## 518  14.0000
## 519  50.0000
## 520  23.0000
## 521  28.0000
## 522  27.0000
## 523  29.0000
## 524  27.0000
## 525  40.0000
## 526  31.0000
## 527  30.0000
## 528  23.0000
## 529  31.0000
## 530  12.0000
## 531  40.0000
## 532  32.5000
## 533  27.0000
## 534  29.0000
## 535   2.0000
## 536   4.0000
## 537  29.0000
## 538   0.9167
## 539   5.0000
## 540  36.0000
## 541  33.0000
## 542  66.0000
## 543  31.0000
## 544  26.0000
## 545  24.0000
## 546  42.0000
## 547  13.0000
## 548  16.0000
## 549  35.0000
## 550  16.0000
## 551  25.0000
## 552  20.0000
## 553  18.0000
## 554  30.0000
## 555  26.0000
## 556  40.0000
## 557   0.8333
## 558  18.0000
## 559  26.0000
## 560  26.0000
## 561  20.0000
## 562  24.0000
## 563  25.0000
## 564  35.0000
## 565  18.0000
## 566  32.0000
## 567  19.0000
## 568   4.0000
## 569   6.0000
## 570   2.0000
## 571  17.0000
## 572  38.0000
## 573   9.0000
## 574  11.0000
## 575  39.0000
## 576  27.0000
## 577  26.0000
## 578  39.0000
## 579  20.0000
## 580  26.0000
## 581  25.0000
## 582  18.0000
## 583  24.0000
## 584  35.0000
## 585   5.0000
## 586   9.0000
## 587   3.0000
## 588  13.0000
## 589   5.0000
## 590  40.0000
## 591  23.0000
## 592  38.0000
## 593  45.0000
## 594  21.0000
## 595  23.0000
## 596  17.0000
## 597  30.0000
## 598  23.0000
## 599  13.0000
## 600  20.0000
## 601  32.0000
## 602  33.0000
## 603   0.7500
## 604   0.7500
## 605   5.0000
## 606  24.0000
## 607  18.0000
## 608  40.0000
## 609  26.0000
## 610  20.0000
## 611  18.0000
## 612  45.0000
## 613  27.0000
## 614  22.0000
## 615  19.0000
## 616  26.0000
## 617  22.0000
## 618  20.0000
## 619  32.0000
## 620  21.0000
## 621  18.0000
## 622  26.0000
## 623   6.0000
## 624   9.0000
## 625  40.0000
## 626  32.0000
## 627  21.0000
## 628  22.0000
## 629  20.0000
## 630  29.0000
## 631  22.0000
## 632  22.0000
## 633  35.0000
## 634  18.5000
## 635  21.0000
## 636  19.0000
## 637  18.0000
## 638  21.0000
## 639  30.0000
## 640  18.0000
## 641  38.0000
## 642  17.0000
## 643  17.0000
## 644  21.0000
## 645  21.0000
## 646  21.0000
## 647  28.0000
## 648  24.0000
## 649  16.0000
## 650  37.0000
## 651  28.0000
## 652  24.0000
## 653  21.0000
## 654  32.0000
## 655  29.0000
## 656  26.0000
## 657  18.0000
## 658  20.0000
## 659  18.0000
## 660  24.0000
## 661  36.0000
## 662  24.0000
## 663  31.0000
## 664  31.0000
## 665  22.0000
## 666  30.0000
## 667  70.5000
## 668  43.0000
## 669  35.0000
## 670  27.0000
## 671  19.0000
## 672  30.0000
## 673   9.0000
## 674   3.0000
## 675  36.0000
## 676  59.0000
## 677  19.0000
## 678  17.0000
## 679  44.0000
## 680  17.0000
## 681  22.5000
## 682  45.0000
## 683  22.0000
## 684  19.0000
## 685  30.0000
## 686  29.0000
## 687   0.3333
## 688  34.0000
## 689  28.0000
## 690  27.0000
## 691  25.0000
## 692  24.0000
## 693  22.0000
## 694  21.0000
## 695  17.0000
## 696  36.5000
## 697  36.0000
## 698  30.0000
## 699  16.0000
## 700   1.0000
## 701   0.1667
## 702  26.0000
## 703  33.0000
## 704  25.0000
## 705  22.0000
## 706  36.0000
## 707  19.0000
## 708  17.0000
## 709  42.0000
## 710  43.0000
## 711  32.0000
## 712  19.0000
## 713  30.0000
## 714  24.0000
## 715  23.0000
## 716  33.0000
## 717  65.0000
## 718  24.0000
## 719  23.0000
## 720  22.0000
## 721  18.0000
## 722  16.0000
## 723  45.0000
## 724  39.0000
## 725  17.0000
## 726  15.0000
## 727  47.0000
## 728   5.0000
## 729  40.5000
## 730  40.5000
## 731  18.0000
## 732  26.0000
## 733  21.0000
## 734   9.0000
## 735  18.0000
## 736  16.0000
## 737  48.0000
## 738  25.0000
## 739  22.0000
## 740  16.0000
## 741   9.0000
## 742  33.0000
## 743  41.0000
## 744  31.0000
## 745  38.0000
## 746   9.0000
## 747   1.0000
## 748  11.0000
## 749  10.0000
## 750  16.0000
## 751  14.0000
## 752  40.0000
## 753  43.0000
## 754  51.0000
## 755  32.0000
## 756  20.0000
## 757  37.0000
## 758  28.0000
## 759  19.0000
## 760  24.0000
## 761  17.0000
## 762  28.0000
## 763  24.0000
## 764  20.0000
## 765  23.5000
## 766  41.0000
## 767  26.0000
## 768  21.0000
## 769  45.0000
## 770  25.0000
## 771  11.0000
## 772  27.0000
## 773  18.0000
## 774  26.0000
## 775  23.0000
## 776  22.0000
## 777  28.0000
## 778  28.0000
## 779   2.0000
## 780  22.0000
## 781  43.0000
## 782  28.0000
## 783  27.0000
## 784  42.0000
## 785  30.0000
## 786  27.0000
## 787  25.0000
## 788  29.0000
## 789  21.0000
## 790  20.0000
## 791  48.0000
## 792  17.0000
## 793  34.0000
## 794  26.0000
## 795  22.0000
## 796  33.0000
## 797  31.0000
## 798  29.0000
## 799   4.0000
## 800   1.0000
## 801  49.0000
## 802  33.0000
## 803  19.0000
## 804  27.0000
## 805  23.0000
## 806  32.0000
## 807  27.0000
## 808  20.0000
## 809  21.0000
## 810  32.0000
## 811  17.0000
## 812  21.0000
## 813  30.0000
## 814  21.0000
## 815  33.0000
## 816  22.0000
## 817   4.0000
## 818  39.0000
## 819  18.5000
## 820  34.5000
## 821  44.0000
## 822  22.0000
## 823  26.0000
## 824   4.0000
## 825  29.0000
## 826  26.0000
## 827   1.0000
## 828  18.0000
## 829  36.0000
## 830  25.0000
## 831  37.0000
## 832  22.0000
## 833  26.0000
## 834  29.0000
## 835  29.0000
## 836  22.0000
## 837  22.0000
## 838  32.0000
## 839  34.5000
## 840  36.0000
## 841  39.0000
## 842  24.0000
## 843  25.0000
## 844  45.0000
## 845  36.0000
## 846  30.0000
## 847  20.0000
## 848  28.0000
## 849  30.0000
## 850  26.0000
## 851  20.5000
## 852  27.0000
## 853  51.0000
## 854  23.0000
## 855  32.0000
## 856  24.0000
## 857  22.0000
## 858  29.0000
## 859  30.5000
## 860  35.0000
## 861  33.0000
## 862  15.0000
## 863  35.0000
## 864  24.0000
## 865  19.0000
## 866  55.5000
## 867  21.0000
## 868  24.0000
## 869  21.0000
## 870  28.0000
## 871  25.0000
## 872   6.0000
## 873  27.0000
## 874  34.0000
## 875  24.0000
## 876  18.0000
## 877  22.0000
## 878  15.0000
## 879   1.0000
## 880  20.0000
## 881  19.0000
## 882  33.0000
## 883  12.0000
## 884  14.0000
## 885  29.0000
## 886  28.0000
## 887  18.0000
## 888  26.0000
## 889  21.0000
## 890  41.0000
## 891  39.0000
## 892  21.0000
## 893  28.5000
## 894  22.0000
## 895  61.0000
## 896  23.0000
## 897  22.0000
## 898   9.0000
## 899  28.0000
## 900  42.0000
## 901  31.0000
## 902  28.0000
## 903  32.0000
## 904  20.0000
## 905  23.0000
## 906  20.0000
## 907  20.0000
## 908  16.0000
## 909  31.0000
## 910   2.0000
## 911   6.0000
## 912   3.0000
## 913   8.0000
## 914  29.0000
## 915   1.0000
## 916   7.0000
## 917   2.0000
## 918  16.0000
## 919  14.0000
## 920  41.0000
## 921  21.0000
## 922  19.0000
## 923  32.0000
## 924   0.7500
## 925   3.0000
## 926  26.0000
## 927  21.0000
## 928  25.0000
## 929  22.0000
## 930  25.0000
## 931  24.0000
## 932  28.0000
## 933  19.0000
## 934  25.0000
## 935  18.0000
## 936  32.0000
## 937  17.0000
## 938  24.0000
## 939  38.0000
## 940  21.0000
## 941  10.0000
## 942   4.0000
## 943   7.0000
## 944   2.0000
## 945   8.0000
## 946  39.0000
## 947  22.0000
## 948  35.0000
## 949  50.0000
## 950  47.0000
## 951   2.0000
## 952  18.0000
## 953  41.0000
## 954  50.0000
## 955  16.0000
## 956  25.0000
## 957  38.5000
## 958  14.5000
## 959  24.0000
## 960  21.0000
## 961  39.0000
## 962   1.0000
## 963  24.0000
## 964   4.0000
## 965  25.0000
## 966  20.0000
## 967  24.5000
## 968  29.0000
## 969  22.0000
## 970  40.0000
## 971  21.0000
## 972  18.0000
## 973   4.0000
## 974  10.0000
## 975   9.0000
## 976   2.0000
## 977  40.0000
## 978  45.0000
## 979  19.0000
## 980  30.0000
## 981  32.0000
## 982  33.0000
## 983  23.0000
## 984  21.0000
## 985  60.5000
## 986  19.0000
## 987  22.0000
## 988  31.0000
## 989  27.0000
## 990   2.0000
## 991  29.0000
## 992  16.0000
## 993  44.0000
## 994  25.0000
## 995  74.0000
## 996  14.0000
## 997  24.0000
## 998  25.0000
## 999  34.0000
## 1000  0.4167
## 1001 16.0000
## 1002 32.0000
## 1003 30.5000
## 1004 44.0000
## 1005 25.0000
## 1006  7.0000
## 1007  9.0000
## 1008 29.0000
## 1009 36.0000
## 1010 18.0000
## 1011 63.0000
## 1012 11.5000
## 1013 40.5000
## 1014 10.0000
## 1015 36.0000
## 1016 30.0000
## 1017 33.0000
## 1018 28.0000
## 1019 28.0000
## 1020 47.0000
## 1021 18.0000
## 1022 31.0000
## 1023 16.0000
## 1024 31.0000
## 1025 22.0000
## 1026 20.0000
## 1027 14.0000
## 1028 22.0000
## 1029 22.0000
## 1030 32.5000
## 1031 38.0000
## 1032 51.0000
## 1033 18.0000
## 1034 21.0000
## 1035 47.0000
## 1036 28.5000
## 1037 21.0000
## 1038 27.0000
## 1039 36.0000
## 1040 27.0000
## 1041 15.0000
## 1042 45.5000
## 1043 14.5000
## 1044 26.5000
## 1045 27.0000
## 1046 29.0000

시각화는 2일차애 배웠듯이 ggplot2 패키지를 통해 가능하다.

require(ggplot2)
## Loading required package: ggplot2
qplot(DF$age, data=DF, geom = 'histogram')
## Warning: Use of `DF$age` is discouraged. Use `age` instead.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

DF <- sqldf("
            select count(*) total from titanic3
            where age=29
            group by survived
            ")
DF2 <- t(DF)
colnames(DF2) <- c("Died", "Survived")
DF2
##       Died Survived
## total   17       13
#write.csv(iris, "iris.csv")
iris2 <- read.csv.sql(
  "iris.csv",
  sql = "
  select * from file
  where Species = 'setosa'
  "
)
iris2
## [1] X            Sepal.Length Sepal.Width  Petal.Length Petal.Width 
## [6] Species     
## <0 rows> (or 0-length row.names)

mtcars 데이터를 sqldf()를 이용해 구조화해보도록 한다.

sqldf(
      "select * from mtcars
      where mpg between 20 and 30"
      )
##     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## 1  21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
## 2  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
## 3  22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
## 4  21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
## 5  24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
## 6  22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
## 7  21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
## 8  27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
## 9  26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
## 10 21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
mtcars$carnames <- rownames(mtcars)

sqldf(
  "select * from mtcars
  where carnames like 'Merc%'"
  )%>%
  ggplot(aes(x=wt, y=hp)
         ) +
  geom_point() +
  geom_smooth(method="lm", col="red") +
  geom_text(aes(y=hp, label=carnames))
## `geom_smooth()` using formula 'y ~ x'

###연습문제1

library(readxl)
library <- read_excel("C:/Users/SEC/Desktop/useofthelibrary.xlsx")
View(library)
hist(library$전체만족도)

mean(library$전체만족도)
## [1] 3.228986
var(library$전체만족도)
## [1] 2.927064
sd(library$전체만족도)
## [1] 1.710867
fivenum(library$전체만족도)
## [1] 1 2 3 4 7

###샘플링 ###연습문제2

table(library$신분)
## 
##   1   2   3   4   5   6 
## 100  63 117  23  21  21
table(library$신분, library$학력)
##    
##      1  2  3
##   1 85 15  0
##   2  2 48 13
##   3 53 28 36
##   4 19  4  0
##   5  4 17  0
##   6  0  4 17
library[sample(nrow(library), 10), ]
## Warning: `...` is not empty.
## 
## We detected these problematic arguments:
## * `needs_dots`
## 
## These dots only exist to allow future extensions and should be empty.
## Did you misspecify an argument?
## # A tibble: 10 x 40
##    ID    정보시스템1 정보시스템2 정보시스템3 정보시스템4 정보시스템5 정보시스템6
##    <chr>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>
##  1 P_13            3           1           1           2           1           4
##  2 P_180           4           1           2           2           2           5
##  3 P_112           3           3           3           3           3           3
##  4 P_325           5           7           5           7           7           5
##  5 P_84            5           3           5           5           5           3
##  6 P_123           4           2           2           2           2           5
##  7 P_172           6           1           6           6           3           4
##  8 P_260           3           3           2           3           3           3
##  9 P_204           7           5           7           7           4           5
## 10 P_223           7           7           5           3           5           5
## # ... with 33 more variables: 정보시스템7 <dbl>, 정보시스템8 <dbl>,
## #   정보시스템9 <dbl>, 정보시스템10 <dbl>, 정보시스템11 <dbl>,
## #   정보시스템12 <dbl>, 정보시스템13 <dbl>, 디지털장서01 <dbl>,
## #   디지털장서02 <dbl>, 디지털장서03 <dbl>, 디지털장서04 <dbl>,
## #   디지털장서05 <dbl>, 디지털장서06 <dbl>, 디지털장서07 <dbl>, X3_1 <dbl>,
## #   X3_2 <dbl>, X3_3 <dbl>, X3_4 <dbl>, X3_5 <dbl>, X3_6 <dbl>, X3_7 <dbl>,
## #   X3_8 <dbl>, X3_9 <dbl>, X3_10 <dbl>, 전체만족도 <dbl>, 고객불평 <dbl>,
## #   재사용의도1 <dbl>, 재사용의도2 <dbl>, 이용횟수 <dbl>, 신분 <dbl>,
## #   학력 <dbl>, 연령 <dbl>, 성별 <dbl>

다음은 층화추출 기법을 이용하여 데이터를 추출한 것이다.

#install.packages("sampling")
require(sampling)
## Loading required package: sampling
strata(c("학력"), size=c(3,3,3), method="srswor", data=library)
##     학력 ID_unit       Prob Stratum
## 141    1     141 0.01840491       1
## 258    1     258 0.01840491       1
## 267    1     267 0.01840491       1
## 51     2      51 0.02586207       2
## 87     2      87 0.02586207       2
## 202    2     202 0.02586207       2
## 40     3      40 0.04545455       3
## 47     3      47 0.04545455       3
## 234    3     234 0.04545455       3

###가설검증

boxplot(library$성별, library$전체만족도)

t.test(library$성별, library$전체만족도)
## 
##  Welch Two Sample t-test
## 
## data:  library$성별 and library$전체만족도
## t = -17.347, df = 401.52, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -1.852316 -1.475221
## sample estimates:
## mean of x mean of y 
##  1.565217  3.228986