<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yukun&#039;s Blog &#187; R</title>
	<atom:link href="http://www.yukun.info/blog/category/r/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yukun.info</link>
	<description>難しいことは分かりやすく、簡単なことは面白く紹介</description>
	<lastBuildDate>Thu, 26 Jan 2012 03:33:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</title>
		<link>http://www.yukun.info/blog/2008/09/r-read-csv-file.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-read-csv-file.html#comments</comments>
		<pubDate>Wed, 10 Sep 2008 12:50:31 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[CSV]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[read]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=583</guid>
		<description><![CDATA[読み込むCSVファイルは2007年度のセリーグの打撃成績の順位です。 参考：2007年度 セントラル・リーグ 個人打撃成績（規定打席以上） batting2007.csv 順位,打率,安打 1,0.346,193 2,0 &#8230; <a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html">Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>読み込むCSVファイルは2007年度のセリーグの打撃成績の順位です。</p>
<p>参考：<a href="http://bis.npb.or.jp/2007/stats/bat_c.html" title="2007年度 セントラル・リーグ 個人打撃成績（規定打席以上）" target="_blank">2007年度 セントラル・リーグ 個人打撃成績（規定打席以上）</a></p>
<p><em>batting2007.csv</em></p>
<pre>
順位,打率,安打
1,0.346,193
2,0.343,204
3,0.318,172
4,0.313,177
5,0.31,175
6,0.308,155
7,0.302,122
8,0.302,118
9,0.3,120
10,0.3,139
</pre>
<h2>プロンプト</h2>
<pre>
> read.csv("batting2007.csv")
   順位  打率 安打
1     1 0.346  193
2     2 0.343  204
3     3 0.318  172
4     4 0.313  177
5     5 0.310  175
6     6 0.308  155
7     7 0.302  122
8     8 0.302  118
9     9 0.300  120
10   10 0.300  139
> batting$安打
 [1] 193 204 172 177 175 155 122 118 120 139
</pre>
<p>read.csv()メソッドでCSVファイルを読み込み、そのデータフレームをbatting変数に格納しています。</p>
<p>実行結果を見ると、ファイル1行目のフィールド(列)名が変数名を表し、2行目以降がテーブル本体を表していることが分かります。これによって、例えば安打の列を抽出したい場合は、batting$安打と指定すればOKです。</p>
<p>ただ、毎回々々「batting$安打」と指定するのは億劫ですので、以下のコマンドで簡略化します。</p>
<pre>
> attach(batting)
> 安打
 [1] 193 204 172 177 175 155 122 118 120 139
>
</pre>
<p>attach()関数によってワークスペースにオブジェクトが保存され、データフレーム内の変数名のみでのアクセスが可能になります。</p>
<h2>read.csv()メソッドのheader引数にFALSEを指定した場合</h2>
<p>read.csv()メソッドはデフォルトでheader引数にTRUEが指定されていますが、以下のようにFALSE（必ず大文字）を指定することも出来ます。その場合の動作は以下のようになります。</p>
<pre>
> batting <- read.csv("batting2007.csv", header=FALSE)
> batting
     V1    V2   V3
1  順位  打率 安打
2     1 0.346  193
3     2 0.343  204
4     3 0.318  172
5     4 0.313  177
6     5  0.31  175
7     6 0.308  155
8     7 0.302  122
9     8 0.302  118
10    9   0.3  120
11   10   0.3  139
> batting$V3
 [1] 安打 193  204  172  177  175  155  122  118  120  139
Levels: 118 120 122 139 155 172 175 177 193 204 安打
>
</pre>
<p>ファイル1行目の列名がテーブル本体のデータセットに組み込まれていることが分かります。この場合の列へのアクセスは上の実行結果から、batting$V3と分かります。フィールド(列)名（一行目）を省略したCSVファイルを読み込みたい場合にはこのオプション引数を指定します。</p>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html" rel="bookmark" title="2008年9月5日">Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-file.html" rel="bookmark" title="2008年6月9日">Python: テキストファイルの読み込み &#8211; read()、readlines()、readline()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-csv-read.html" rel="bookmark" title="2008年6月17日">Python: CSVファイルの読み込み &#8211; csv.readerオブジェクト</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/python-add-line-number-to-text-file.html" rel="bookmark" title="2008年9月8日">Python: テキストファイルの行頭に行番号を追加</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-csv-write.html" rel="bookmark" title="2008年6月18日">Python: CSVファイルに書き込み &#8211; csv.writerオブジェクト</a></li>
</ul>
<p><!-- Similar Posts took 8.481 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html">Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-read-csv-file.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rで統計: ヒストグラムの描画 &#8211; hist()関数</title>
		<link>http://www.yukun.info/blog/2008/09/r-draw-histogram.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-draw-histogram.html#comments</comments>
		<pubDate>Tue, 09 Sep 2008 12:50:08 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Statistics]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=585</guid>
		<description><![CDATA[使用データは、ある30点満点のテストの20人分です。 19, 28, 4, 23, 8, 7, 20, 8, 12, 22, 19, 18, 14, 13, 13, 25, 12, 16, 11, 26 プロンプト hi &#8230; <a href="http://www.yukun.info/blog/2008/09/r-draw-histogram.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-draw-histogram.html">Rで統計: ヒストグラムの描画 &#8211; hist()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>使用データは、ある30点満点のテストの20人分です。</p>
<pre>19, 28, 4, 23, 8, 7, 20, 8, 12, 22, 19, 18, 14, 13, 13, 25, 12, 16, 11, 26</pre>
<h2>プロンプト</h2>
<p>hist()関数の引数にベクトル変数を代入することでヒストグラムを描画できます。</p>
<pre>
> test <- c(19, 28, 4, 23, 8, 7, 20, 8, 12, 22, 19, 18, 14, 13, 13, 25, 12, 16, 11, 26)
> hist(test)
>
</pre>
<h2>実行結果</h2>
<p><a href="http://www.yukun.info/wp-content/uploads/hist_test01.gif"><img src="http://www.yukun.info/wp-content/uploads/hist_test01-e1272275041994.gif" alt="30点満点テスト20人分の成績のヒストグラム" title="hist_test01" width="400" height="399" class="size-full wp-image-1522" /></a></p>
<p>横軸が階級値で縦軸が度数（階級に入るデータ数）です。例えば、15<strong>＜</strong>x<strong>≦</strong>20点の範囲の人が5人いる、と読めます。ただし、左端の0点データは0～5の階級に入ります。ここでは範囲の境界に注意しましょう（主に私が）。</p>
<h2>データ作成に使用した乱数生成スクリプト</h2>
<pre>
>>> import random
>>> [random.randint(0, 30) for i in range(20)]
[19, 28, 4, 23, 8, 7, 20, 8, 12, 22, 19, 18, 14, 13, 13, 25, 12, 16, 11, 26]
>>>
</pre>
<p>つい最近慣れ始めたPythonで書いてしまいました。リスト内包表記が地味に便利なところです。リスト内包表記についてはこちらをご覧ください。→<a href="http://www.yukun.info/blog/2008/06/python-list-comprehension.html" title="Python: リスト内包表記(リストコンプリヘンション)をfor文に書き換える - Yukun's Blog">Python: リスト内包表記をfor文に書き換える</a></p>
<p>そして、乱数モジュールの使い方に関してはこちらを、→<a href="http://www.yukun.info/blog/2008/06/python-random.html" title="Python: 乱数の生成 - random()、randint()、uniform()、seed()メソッド - Yukun's Blog" >Python: 乱数の生成 &#8211; random()、randint()、uniform()、seed()メソッド</a></p>
<p>また、重複のない乱数を生成するスクリプトはこちらをご覧ください。→<a href="http://www.yukun.info/blog/2008/06/python-random2.html" title="Python: モジュールにテスト関数を定義 - 重複のない乱数(整数MIN以上MAX以下)の生成 - Yukun's Blog">Python: モジュールにテスト関数を定義 &#8211; 重複のない乱数(整数MIN以上MAX以下)の生成</a></p>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/01/cpp-random.html" rel="bookmark" title="2008年1月1日">C++でMIN以上MAX未満の乱数を生成</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-list-comprehension.html" rel="bookmark" title="2008年6月16日">Python: リスト内包表記(リストコンプリヘンション)をfor文に書き換える</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-summary-mean-median.html" rel="bookmark" title="2008年9月1日">Rで統計: データ集合中の最大、最小、平均、中央値 &#8211; summary()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-random.html" rel="bookmark" title="2008年6月10日">Python: 乱数の生成 &#8211; random()、randint()、uniform()、seed()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html" rel="bookmark" title="2008年9月7日">Rで統計: ベクトル変数に対する操作 &#8211; 複数データを一括処理</a></li>
</ul>
<p><!-- Similar Posts took 8.144 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-draw-histogram.html">Rで統計: ヒストグラムの描画 &#8211; hist()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-draw-histogram.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rで統計: ベクトル変数に対する操作 &#8211; 複数データを一括処理</title>
		<link>http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html#comments</comments>
		<pubDate>Sun, 07 Sep 2008 12:50:04 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[Vector]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=674</guid>
		<description><![CDATA[ベクトル変数は複数のデータを1つにまとめた変数で、他言語でいえば配列はリストに相当する機能を備えています。なので「[]」演算子によるベクトル変数の要素、スカラー値へのインデックス指定が可能です。今回はRのベクトル変数内の &#8230; <a href="http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html">Rで統計: ベクトル変数に対する操作 &#8211; 複数データを一括処理</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>ベクトル変数は複数のデータを1つにまとめた変数で、他言語でいえば配列はリストに相当する機能を備えています。なので「[]」演算子によるベクトル変数の要素、スカラー値へのインデックス指定が可能です。今回はRのベクトル変数内の<strong>全要素に対する演算</strong>の例を取り上げます。</p>
<h2>プロンプト</h2>
<pre>
> vec1 <- c(1, 3, 5, 7, 9) # ベクトル変数の作成。「<-」演算子は代入
> vec1
[1] 1 3 5 7 9
> print(vec1 + 2)
[1]  3  5  7  9 11
> print(vec1 - 2)
[1] -1  1  3  5  7
> print(vec1 * 5)
[1]  5 15 25 35 45
> print(vec1 / 5)
[1] 0.2 0.6 1.0 1.4 1.8
>
> vec2 <- vec1 - 1
> print(vec2)
[1] 0 2 4 6 8
> print(vec1 + vec2) # ベクトル同士の演算
[1]  1  5  9 13 17
</pre>
<p>ベクトル変数名に対してそのまま演算子が使えるのが直感的で良いですね。</p>
<p>プロンプトを使用する際は、print()関数を使用しなくても、変数名のみで値を出力することが可能ですが、私はRファイルにprint()を書き残す習慣があるので、こちらでも付けてあります。</p>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/09/r-summary-mean-median.html" rel="bookmark" title="2008年9月1日">Rで統計: データ集合中の最大、最小、平均、中央値 &#8211; summary()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-draw-histogram.html" rel="bookmark" title="2008年9月9日">Rで統計: ヒストグラムの描画 &#8211; hist()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html" rel="bookmark" title="2008年9月10日">Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html" rel="bookmark" title="2008年9月5日">Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html" rel="bookmark" title="2008年9月3日">Rで統計: 作業ディレクトリの設定と確認 &#8211; setwd()、getwd()関数</a></li>
</ul>
<p><!-- Similar Posts took 7.840 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html">Rで統計: ベクトル変数に対する操作 &#8211; 複数データを一括処理</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</title>
		<link>http://www.yukun.info/blog/2008/09/r-read-source-file.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-read-source-file.html#comments</comments>
		<pubDate>Thu, 04 Sep 2008 15:00:01 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[read]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=581</guid>
		<description><![CDATA[これまでの例は数行のコマンドでしたのでプロンプトに直接を打っていましたが、何十行というロジックをプロンプトに順々に打っていくのは非効率です。今回は、予め外部のテキストファイルにソースコードを書き、そのファイルをプロンプト &#8230; <a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html">Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>これまでの例は数行のコマンドでしたのでプロンプトに直接を打っていましたが、何十行というロジックをプロンプトに順々に打っていくのは非効率です。今回は、予め外部のテキストファイルにソースコードを書き、そのファイルをプロンプトから呼び出す手順を次の例で示します。</p>
<p>以下のソースコードを拡張子Rのテキストファイルで保存し、プロンプトから読み込んで実行してみましょう。</p>
<p><em>test.R</em></p>
<pre>
batting2007 <- c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139)
print(batting2007)
</pre>
<p>このテキストファイルを作業ディレクトリにおきます。なお、作業ディレクトリの設定方法はこちらをご覧ください。→<a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html" title="Rで統計: 作業ディレクトリの設定と確認 - setwd()、getwd()関数 - Yukun's Blog">作業ディレクトリの設定と確認 - setwd()、getwd()関数</a></p>
<h2>プロンプト</h2>
<pre>
> source("test.R")
 [1] 193 204 172 177 175 155 122 118 120 139
>
</pre>
<p>print()関数を用いて画面へ出力しています。</p>
<p>ここで、この状態のままプロンプトで以下のように入力すると、</p>
<pre>
> summary(batting2007)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  118.0   126.2   163.5   157.5   176.5   204.0
> mean(batting2007)
[1] 157.5
>
</pre>
<p>このように、読み込んだソースファイル中の変数が使えることが分かります。これは、関数宣言等を別ファイルに保存し、プロンプトから呼び出したい場合によく使います。</p>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html" rel="bookmark" title="2008年9月10日">Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/python-add-line-number-to-text-file.html" rel="bookmark" title="2008年9月8日">Python: テキストファイルの行頭に行番号を追加</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-csv-read.html" rel="bookmark" title="2008年6月17日">Python: CSVファイルの読み込み &#8211; csv.readerオブジェクト</a></li>
<li><a href="http://www.yukun.info/blog/2008/12/actionscript-air-async-read-text.html" rel="bookmark" title="2008年12月17日">AIR: テキストファイルを非同期に読み込む &#8211; openAsync()、readMultiByte()</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-file.html" rel="bookmark" title="2008年6月9日">Python: テキストファイルの読み込み &#8211; read()、readlines()、readline()メソッド</a></li>
</ul>
<p><!-- Similar Posts took 10.444 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html">Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-read-source-file.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rで統計: 作業ディレクトリの設定と確認 &#8211; setwd()、getwd()関数</title>
		<link>http://www.yukun.info/blog/2008/09/r-set-work-directory.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-set-work-directory.html#comments</comments>
		<pubDate>Tue, 02 Sep 2008 15:00:12 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[Setting]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=579</guid>
		<description><![CDATA[プログラムからテキストやCSVファイル等を読み込む為にファイルパスの指定する際、ファイル名のみで読み込むホームディレクトリのことを作業ディレクトリといい、その設定方法は以下の2種類あります。 RGuiを使用している場合は &#8230; <a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html">Rで統計: 作業ディレクトリの設定と確認 &#8211; setwd()、getwd()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>プログラムからテキストやCSVファイル等を読み込む為にファイルパスの指定する際、ファイル名のみで読み込むホームディレクトリのことを作業ディレクトリといい、その設定方法は以下の2種類あります。</p>
<p>RGuiを使用している場合は、[ファイル]→[ディレクトリの変更]から任意のディレクトリを選択。</p>
<p>コマンドで変更する場合はプロンプトで、</p>
<pre>
> setwd("D:/rtmp")
</pre>
<p>の様に、setwd()関数の引数にディレクトリのパスを代入することで指定します。</p>
<p>また、作業ディレクトリを確認する関数はgetwd()です。</p>
<pre>
> getwd()
[1] "D:/rtmp"
</pre>
<p>getwd は <strong>get</strong> <strong>w</strong>ork <strong>d</strong>irectoryの略かな。</p>
<p>あと、Windowsの場合は作業ディレクトリ設定を恒久的に保存する方法のひとつに、Rgui.exeのショートカットのプロパティの作業フォルダにパスを設定する方法があります。</p>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/08/python-directory-listdir-glob.html" rel="bookmark" title="2008年8月9日">Python: 指定したパスのディレクトリ中のファイル一覧を出力</a></li>
<li><a href="http://www.yukun.info/blog/2008/12/how-to-write-apache-conf.html" rel="bookmark" title="2008年12月25日">Apacheでよく使うコマンドと設定項目</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/linux-users.html" rel="bookmark" title="2008年6月26日">ユーザー管理に関するLinuxコマンド</a></li>
<li><a href="http://www.yukun.info/blog/2010/03/java-install-sen-windows.html" rel="bookmark" title="2010年3月25日">Java: 形態素解析Senをインストール(Windows編)</a></li>
<li><a href="http://www.yukun.info/blog/2011/02/subversion-intro.html" rel="bookmark" title="2011年2月7日">Subversion: コトハジメ</a></li>
</ul>
<p><!-- Similar Posts took 10.859 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html">Rで統計: 作業ディレクトリの設定と確認 &#8211; setwd()、getwd()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-set-work-directory.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rで統計: データ集合中の最大、最小、平均、中央値 &#8211; summary()関数</title>
		<link>http://www.yukun.info/blog/2008/09/r-summary-mean-median.html</link>
		<comments>http://www.yukun.info/blog/2008/09/r-summary-mean-median.html#comments</comments>
		<pubDate>Sun, 31 Aug 2008 15:00:48 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[R]]></category>
		<category><![CDATA[Statistics]]></category>

		<guid isPermaLink="false">http://blog.yukun.info/?p=576</guid>
		<description><![CDATA[使用するデータに2007年度のセリーグの打撃成績の1位～10位までの安打を用います。 参考：2007年度 セントラル・リーグ 個人打撃成績（規定打席以上） 順 位 選　手 安 打 1 青木　宣親 (ヤ) 193 2 ラミ &#8230; <a href="http://www.yukun.info/blog/2008/09/r-summary-mean-median.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2008/09/r-summary-mean-median.html">Rで統計: データ集合中の最大、最小、平均、中央値 &#8211; summary()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>使用するデータに2007年度のセリーグの打撃成績の1位～10位までの安打を用います。</p>
<p>参考：<a href="http://bis.npb.or.jp/2007/stats/bat_c.html" title="2007年度 セントラル・リーグ 個人打撃成績（規定打席以上）" target="_blank">2007年度 セントラル・リーグ 個人打撃成績（規定打席以上）</a></p>
<table border="1">
<tr>
<th >順<br />
      位</th>
<th colspan="2">選　手</th>
<th >安<br />
      打</th>
</tr>
<tr>
<td>1</td>
<td>青木　宣親</td>
<td>(ヤ)</td>
<td>193</td>
</tr>
<tr>
<td>2</td>
<td>ラミレス</td>
<td>(ヤ)</td>
<td>204</td>
</tr>
<tr>
<td>3</td>
<td>谷　佳知</td>
<td>(巨)</td>
<td>172</td>
</tr>
<tr>
<td>4</td>
<td>小笠原　道大</td>
<td>(巨)</td>
<td>177</td>
</tr>
<tr>
<td>5</td>
<td>栗原　健太</td>
<td>(広)</td>
<td>175</td>
</tr>
<tr>
<td>6</td>
<td>高橋　由伸</td>
<td>(巨)</td>
<td>155</td>
</tr>
<tr>
<td>7</td>
<td>佐伯　貴弘</td>
<td>(横)</td>
<td>122</td>
</tr>
<tr>
<td>8</td>
<td>相川　亮二</td>
<td>(横)</td>
<td>118</td>
</tr>
<tr>
<td>9</td>
<td>赤星　憲広</td>
<td>(神)</td>
<td>120</td>
</tr>
<tr>
<td>10</td>
<td>宮本　慎也</td>
<td>(ヤ)</td>
<td>139</td>
</tr>
</table>
<p>上表より安打の基本統計量を求めるには以下のコマンドを使用します。</p>
<pre>
> summary(c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  118.0   126.2   163.5   157.5   176.5   204.0
>
</pre>
<p>1行目の「> 」以降の文字列がコマンドで2、3行目がその実行結果となり、実行結果の項目の意味はそれぞれ下表のようになります。</p>
<h2>summary()関数の戻り値の意味</h2>
<table border="1">
<tr>
<th scope="col">summary()</th>
<th scope="col">意味</th>
</tr>
<tr>
<td>Min</td>
<td>最小値</td>
</tr>
<tr>
<td>1st Qu</td>
<td>第一四分位数</td>
</tr>
<tr>
<td>Median</td>
<td>中央値</td>
</tr>
<tr>
<td>Mean</td>
<td>平均値</td>
</tr>
<tr>
<td>3rd Qu</td>
<td>第三四分位数</td>
</tr>
<tr>
<td>Max</td>
<td>最大値</td>
</tr>
</table>
<p>ここで、中央値とはデータ集合中の中央の順位に位置する値であり、第一四分位数と第三四分位数はそれぞれ、下から数えて1/4、3/4の順位に位置する値です。</p>
<p>ただし、データ個数が偶数個の場合は、中央（1/4、3/4）の順位に近い2つの値の算術平均をとります。</p>
<h2>コマンドの説明</h2>
<p>c()関数の引数に10人の安打数をカンマ区切りで代入し、戻り値として10人のデータをまとめたベクトル変数を得ます。summary()関数にそのベクトル変数を代入することで今回の実行結果を得ています。</p>
<p>ちなみに、c()の c は combine の頭文字からきています。</p>
<h2>中央値と平均値の使い分け</h2>
<p>平均値はデータ集合の散らばり具合が分かりませんので、その平均値がデータ集合全体を表すのに妥当かどうか判断できません（→散らばり具合は分散、偏差から分かる）。ただ、中央値によってそれをある程度補完することが出来ます。</p>
<p>仮に、上のデータに年間安打1000本の選手(現実そんなに打席に入れません>_<)を入れると</p>
<pre>
> summary(c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139, 1000))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
  118.0   130.5   172.0   234.1   185.0  1000.0
>
</pre>
<p>これによって平均値がかなり押し上げられていますが、中央値は1つずれただけですね。中央値はデータの個数と順序によって決まるものなので、突出したデータが少数入っていてもあまり影響は受けません。</p>
<h2>最大値、最小値、平均値、中央値を求める関数(別個に)</h2>
<p>ベクトル変数を以下のように設定したとき、</p>
<pre>
> batting2007 <- c(193, 204, 172, 177, 175, 155, 122, 118, 120, 139)
</pre>
<p>最大値、最小値、平均値、中央値はそれぞれmax()、min()、mean()、median()関数で求まります。</p>
<pre>
> max(batting2007)
[1] 204
> min(batting2007)
[1] 118
> mean(batting2007)
[1] 157.5
> median(batting2007)
[1] 163.5
>
</pre>
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2008/09/r-draw-histogram.html" rel="bookmark" title="2008年9月9日">Rで統計: ヒストグラムの描画 &#8211; hist()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-read-source-file.html" rel="bookmark" title="2008年9月5日">Rで統計: *.Rソースファイルの読み込みと実行 &#8211; source()関数</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-read-csv-file.html" rel="bookmark" title="2008年9月10日">Rで統計: CSVファイルの読み込み &#8211; read.csv()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-vector-arithmetic-operations.html" rel="bookmark" title="2008年9月7日">Rで統計: ベクトル変数に対する操作 &#8211; 複数データを一括処理</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/r-set-work-directory.html" rel="bookmark" title="2008年9月3日">Rで統計: 作業ディレクトリの設定と確認 &#8211; setwd()、getwd()関数</a></li>
</ul>
<p><!-- Similar Posts took 7.636 ms --></p>
<p><a href="http://www.yukun.info/blog/2008/09/r-summary-mean-median.html">Rで統計: データ集合中の最大、最小、平均、中央値 &#8211; summary()関数</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2008/09/r-summary-mean-median.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

