Chap1 とにかく使ってみよう
コンテンツ
1.1 はじめに1.2 データを眺めてみる
1.3 データを要約してみる
1.4 グラフを描いてみる
1.5 データを操作してみる
1.6 まとめ
1.1 はじめに
S-PLUSとはどのようなものなのか,今までS-PLUSに触れたことのない方には想像もつかないと思われる.そこで,まずは実際にデータを用いていくつかの簡単な統計的な分析をしてみることで,S-PLUSを体験してみよう.
1.2 データを眺めてみる
これからこの章を通して用いるデータは,1990年4月のConsumer Reportsからとられた車の情報である.あなたがこのデータを手に入れたときどうするだろうか,まずは全体をざっと眺めてみようとすると思う.そこで実際にこのデータを眺めてみる.
この章では,S言語の説明は最小限しか行わない.もし実際にこの章に書いてあることを試してみたいのならば,S-PLUSを起動し,コマンドウィンドウ(説明の順序が前後してしまいますが,起動の仕方は2.2を参照してください)の一番下に表示される>の後に,この章で説明したコマンドを入力したのち,Enterキーを押すと,同じ出力を得ることができる.#の後は入力したことの説明なので無視して構わない.
さて,早速次のように入力してEnterキーを押してみる.
> cu.summary #車の情報のデータを表示する
Price Country Reliability Mileage Type Acura Integra 4 11950 Japan Much better NA Small Dodge Colt 4 6851 Japan NA NA Small Dodge Omni 4 6995 USA Much worse NA Small Eagle Summit 4 8895 USA better 33 Small Ford Escort 4 7402 USA worse 33 Small Ford Festiva 4 6319 Korea better 37 Small GEO Metro 3 6695 Japan NA NA Small GEO Prizm 4 10125 Japan/USA Much better NA Small Honda Civic 4 6635 Japan/USA Much better 32 Small Hyundai Excel 4 5899 Korea worse NA Small Mazda Protege 4 6599 Japan Much better 32 Small Mercury Tracer 4 8672 Mexico better 26 Small Mitsubishi Precis 4 5899 Korea worse NA Small Nissan Sentra 4 7399 Japan/USA Much better 33 Small Pontiac LeMans 4 7254 Korea Much worse 28 Small Subaru Loyale 4 9599 Japan Much better 25 Small Subaru Justy 3 5866 Japan NA 34 Small Toyota Corolla 4 8748 Japan/USA Much better 29 Small Toyota Tercel 4 6488 Japan Much better 35 Small Volkswagen Fox 4 7225 Brazil NA NA Small Volkswagen Golf 4 8695 Mexico average NA Small Volkswagen Jetta 4 9995 Germany average 26 Small Chevrolet Camaro V6 10995 USA Much worse NA Sporty Chevrolet Camaro V8 11545 USA Much worse 20 Sporty Chevrolet Corvette V8 31979 USA Much worse NA Sporty Dodge Daytona 9745 USA Much worse 27 Sporty Dodge Daytona Turbo 4 12895 USA Much worse NA Sporty Eagle Talon 4 12995 USA NA NA Sporty Ford Mustang 4 9456 USA Much worse NA Sporty Ford Mustang V8 12164 USA Much worse 19 Sporty Ford Probe 11470 USA average 30 Sporty Ford Probe GT 4 14726 USA average NA Sporty GEO Storm 4 10390 Japan NA NA Sporty Honda Civic CRX Si 4 9410 Japan Much better 33 Sporty Honda Prelude Si 4WS 4 13945 Japan Much better 27 Sporty Mazda MX-5 Miata 13800 Japan NA NA Sporty Mazda MX-6 4 12279 Japan/USA Much better NA Sporty Mazda RX-7 17880 Japan Much better NA Sporty Nissan 240SX 4 13249 Japan average 24 Sporty Nissan 300ZX V6 27900 Japan NA NA Sporty Nissan Pulsar NX XE 4 12249 Japan average NA Sporty Plymouth Laser 10855 USA NA 26 Sporty Porsche 944 41990 Germany NA NA Sporty Subaru XT 4 13071 Japan NA 28 Sporty Price Country Reliability Mileage Type Toyota Celica GT-S 4 12268 Japan NA NA Sporty Toyota Supra 6 22860 Japan better NA Sporty Volkswagen Corrado 4 17900 Germany NA NA Sporty Volkswagen GTI 4 9995 Mexico NA NA Sporty Audi 80 4 18900 Germany NA 27 Compact Audi 90 5 23990 Germany NA NA Compact BMW 325i 6 24650 Germany better NA Compact Buick Skylark 4 10565 USA worse 23 Compact Chevrolet Beretta 4 10320 USA Much worse 26 Compact Chevrolet Cavalier 4 8620 USA Much worse NA Compact Chrysler Le Baron V6 10945 USA better 25 Compact Dodge Shadow Turbo 4 8845 USA average NA Compact Ford Tempo 4 9483 USA worse 24 Compact Honda Accord 4 12145 Japan/USA Much better 26 Compact Mazda 626 4 12459 Japan/USA better 24 Compact Mercedes-Benz 190E 6 31600 Germany average NA Compact Mitsubishi Galant 4 10989 Japan Much better 25 Compact Mitsubishi Sigma V6 17879 Japan better 21 Compact Nissan Stanza 4 11650 Japan Much better 21 Compact Oldsmobile Calais 4 9995 USA worse 23 Compact Peugeot 405 4 15930 France NA 24 Compact Saab 900 4 16995 Sweden worse NA Compact Saab 900 Turbo 4 26945 Sweden worse NA Compact Subaru Legacy 4 11499 Japan/USA Much better 23 Compact Toyota Camry 4 11588 Japan/USA Much better 27 Compact Volvo 240 4 18450 Sweden average 23 Compact Acura Legend V6 24760 Japan Much better 20 Medium Audi 100 5 26900 Germany NA NA Medium BMW 535i 6 33200 Germany NA NA Medium Buick Century 4 13150 USA average 21 Medium Buick Riviera V6 23040 USA average NA Medium Cadillac Eldorado V8 28855 USA average NA Medium Chevrolet Lumina 4 12140 USA NA NA Medium Chrysler Imperial V6 25495 USA average NA Medium Chrysler Le Baron Coupe 12495 USA worse 22 Medium Chrysler New Yorker V6 16342 USA average 22 Medium Dodge Dynasty 4 12995 USA average NA Medium Eagle Premier V6 15350 USA worse 22 Medium Ford Taurus 4 12640 USA Much worse NA Medium Ford Taurus V6 13195 USA average 22 Medium Ford Thunderbird V6 14980 USA Much worse 23 Medium Hyundai Sonata 4 9999 Korea NA 23 Medium Infiniti Q45 V8 38000 Japan NA NA Medium Lexus LS 400 V8 35000 Japan NA NA Medium Price Country Reliability Mileage Type Lincoln Continental V6 29422 USA worse NA Medium Lincoln Mark VII V8 29246 USA Much worse NA Medium Mazda 929 V6 23300 Japan Much better 21 Medium Mercedes-Benz 300E 6 39950 Germany Much worse NA Medium Nissan Maxima V6 17899 Japan Much better 22 Medium Oldsmobile Cutlass Ciera 4 13150 USA worse 21 Medium Oldsmobile Cutlass Supreme V6 14495 USA NA 21 Medium Peugeot 505 4 19945 France NA NA Medium Saab 9000S 4 25995 Sweden NA NA Medium Sterling 827 V6 23550 England NA NA Medium Toyota Cressida 6 21498 Japan average 23 Medium Volvo 740 GL 4 21700 Sweden average NA Medium Buick Electra V6 20225 USA average NA Large Buick Le Sabre V6 16145 USA average 23 Large Cadillac Brougham V8 27400 USA Much worse NA Large Cadillac De Ville V8 26960 USA average NA Large Chevrolet Caprice V8 14525 USA Much worse 18 Large Ford LTD Crown Victoria V8 17257 USA average 20 Large Lincoln Town Car V8 27986 USA average NA Large Chevrolet Astro V6 13790 USA Much worse NA Van Chevrolet Lumina APV V6 13995 USA NA 18 Van Dodge Caravan 4 11995 USA average NA Van Dodge Grand Caravan V6 15395 USA average 18 Van Ford Aerostar V6 12267 USA average 18 Van Mazda MPV V6 14944 Japan Much better 19 Van Mitsubishi Wagon 4 14929 Japan NA 20 Van Nissan Axxess 4 13949 Japan NA 20 Van Nissan Van 4 14799 Japan NA 19 Van Volkswagen Vanagon 4 14080 Germany NA NA Van
1.3 データを要約してみる
さてデータを眺めることはできたが,このままではこのデータがどのような情報を持っているのか容易には分からない.そこでデータを要約してみる.
次のように,入力しEnterを押す.
すると,次のような結果が出力される.
Price Country Reliability Mileage Type Min.: 5866 USA:49 Much worse:18 Min.:18.00 Compact:22 1st Qu.:10125 Japan:31 worse:12 1st Qu.:21.00 Large: 7 Median:13150 Germany:11 average:26 Median:23.00 Medium:30 Mean:15743 Japan/USA: 9 better: 8 Mean:24.58 Small:22 3rd Qu.:18900 Sweden: 5 Much better:21 3rd Qu.:27.00 Sporty:26 Max.:41990 Korea: 5 NA's:32 Max.:37.00 Van:10 (Other): 7 NA's:57.00
次に,出力について説明する."Price"や"Mileage"のようにすべて数字のデータに関しては,
- Min. (最小値)
- 1st Qu. (第1四分位値)
- Median (中央値)
- Mean (平均値)
- 3rd Qu. (第3四分位値)
- Max. (最大値)
- NA's (欠損値の数)
- USA
- Japan
- Germany
- Japan/USA
- Sweden
- Korea
- (Other)
> summary(cu.summary$Country) #Countryについてさらに詳細に見る
Brazil England France Germany Japan Japan/USA Korea Mexico Sweden USA 1 1 2 11 31 9 5 3 5 49
- Brazil
- England
- France
- Mexico
1.4 グラフを描いてみる
次にグラフを描いてみる.たとえば"Price"の箱ひげ図を描いて,価格がどのように分布しているのかを見てみる."Price"についての箱ひげ図を描くには次のように入力してEnterを押す.> boxplot(cu.summary$Price) #Priceの箱ひげ図を描く

作成した箱ひげ図を見てみると,5つの外れ値が存在することが分かる.では,この外れ値が何番目の車であるか,またその値段はいくらかを,図に重ね書きしてみる.各コマンドは少々複雑なので,試してみたい方は,コマンドの意味は考えずに同じように入力してそれぞれEnterを押してほしい.
> price = cu.summary$Price[rev(order(cu.summary$Price))][1:5] > id = rev(order(cu.summary$Price))[1:5] > text(25,price,label=id) > text(75,price,label=price)

このデータの中で,一番値段の高い車は43番目の車で,値段は41900であることが分かったが,43番の車における他の情報を見るためには次のように入力してEnterを押す.
> cu.summary[43,]
Price Country Reliability Mileage Type Porsche 944 41990 Germany NA NA Sporty
S-PLUSでは,他にも散布図や水準ごとの箱ひげ図など,さまざまなグラフを描くことができる.
> plot(cu.summary$Price,cu.summary$Mileage,type="n") > text(cu.summary$Price,cu.summary$Mileage,label=1:117) #散布図

> plot(cu.summary$Country,cu.summary$Price) #国別の箱ひげ図

1.5 データを操作してみる
前節で描いた価格と燃費の散布図を見てみると,負の相関がありそうなことが分かった.そこで相関係数を計算してみようと考えたとする.S-PLUSでは相関係数を計算することももちろんできる.相関係数は次の入力によって計算する.
> cor(cu.summary$Price,cu.summary$Mileage)
まず,NAを含むデータを削除してみる.
> cu.omit = na.omit(cu.summary) #NAを含むデータを削除
> cu.omit #NAを除いたデータを表示
Price Country Reliability Mileage Type Eagle Summit 4 8895 USA better 33 Small Ford Escort 4 7402 USA worse 33 Small Ford Festiva 4 6319 Korea better 37 Small Honda Civic 4 6635 Japan/USA Much better 32 Small Mazda Protege 4 6599 Japan Much better 32 Small Mercury Tracer 4 8672 Mexico better 26 Small Nissan Sentra 4 7399 Japan/USA Much better 33 Small Pontiac LeMans 4 7254 Korea Much worse 28 Small Subaru Loyale 4 9599 Japan Much better 25 Small Toyota Corolla 4 8748 Japan/USA Much better 29 Small Toyota Tercel 4 6488 Japan Much better 35 Small Volkswagen Jetta 4 9995 Germany average 26 Small Chevrolet Camaro V8 11545 USA Much worse 20 Sporty Dodge Daytona 9745 USA Much worse 27 Sporty Ford Mustang V8 12164 USA Much worse 19 Sporty Ford Probe 11470 USA average 30 Sporty Honda Civic CRX Si 4 9410 Japan Much better 33 Sporty Honda Prelude Si 4WS 4 13945 Japan Much better 27 Sporty Nissan 240SX 4 13249 Japan average 24 Sporty Buick Skylark 4 10565 USA worse 23 Compact Chevrolet Beretta 4 10320 USA Much worse 26 Compact Chrysler Le Baron V6 10945 USA better 25 Compact Ford Tempo 4 9483 USA worse 24 Compact Honda Accord 4 12145 Japan/USA Much better 26 Compact Mazda 626 4 12459 Japan/USA better 24 Compact Mitsubishi Galant 4 10989 Japan Much better 25 Compact Mitsubishi Sigma V6 17879 Japan better 21 Compact Nissan Stanza 4 11650 Japan Much better 21 Compact Oldsmobile Calais 4 9995 USA worse 23 Compact Subaru Legacy 4 11499 Japan/USA Much better 23 Compact Toyota Camry 4 11588 Japan/USA Much better 27 Compact Volvo 240 4 18450 Sweden average 23 Compact Acura Legend V6 24760 Japan Much better 20 Medium Buick Century 4 13150 USA average 21 Medium Chrysler Le Baron Coupe 12495 USA worse 22 Medium Chrysler New Yorker V6 16342 USA average 22 Medium Eagle Premier V6 15350 USA worse 22 Medium Ford Taurus V6 13195 USA average 22 Medium Ford Thunderbird V6 14980 USA Much worse 23 Medium Mazda 929 V6 23300 Japan Much better 21 Medium Nissan Maxima V6 17899 Japan Much better 22 Medium Oldsmobile Cutlass Ciera 4 13150 USA worse 21 Medium Toyota Cressida 6 21498 Japan average 23 Medium Buick Le Sabre V6 16145 USA average 23 Large Price Country Reliability Mileage Type Chevrolet Caprice V8 14525 USA Much worse 18 Large Ford LTD Crown Victoria V8 17257 USA average 20 Large Dodge Grand Caravan V6 15395 USA average 18 Van Ford Aerostar V6 12267 USA average 18 Van Mazda MPV V6 14944 Japan Much better 19 Van
> summary(cu.omit)
Price Country Reliability Mileage Type Min.: 6319 USA:23 Much worse: 7 Min.:18.0 Compact:13 1st Qu.: 9599 Japan:14 worse: 7 1st Qu.:21.0 Large: 3 Median:11650 Japan/USA: 7 average:12 Median:23.0 Medium:11 Mean:12452 Korea: 2 better: 6 Mean:24.8 Small:12 3rd Qu.:14944 Sweden: 1 Much better:17 3rd Qu.:27.0 Sporty: 7 Max.:24760 Mexico: 1 Max.:37.0 Van: 3 (Other): 1
> cor(cu.omit$Price,cu.omit$Mileage) #相関係数を計算する
[1] -0.6765191
※注)実は相関係数は次のように入力することで計算することができるが,その値は先の結果とは異なる.その理由については課題とする.この課題はS-PLUSの理解と欠損値の扱い方の重要性を理解を深めてくれると考える.
> cor(cu.summary$Price,cu.summary$Mileage,na.method="omit")
1.6 まとめ
実際にデータを用いてS-PLUSを使ってみたが,基本的なことをするだけならば,1行のコマンドを入力するだけでいいことが分かっていただけただろうか?S-PLUSにはさらにGUIという,クリックひとつで様々な統計的な処理をすることができる.是非S-PLUSとこのS+rescueを有効に用いて行いたい統計解析をスマートに行ってほしい.