[R言語]データフレームの中央値を取得するには?

R言語

どうも、ちょげ(@chogetarou)です。

データフレーム(data.frame)の中央値を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

データフレーム(data.frame)の中央値を取得する方法は、3つあります。

特定の列の中央値

1つ目は、特定の列の中央値を取得する方法です。

まず、median()を呼び出します。

そして、median()の引数に、「$」で選択したデータフレームの列を指定します。

#data=対象のデータフレーム, col=対象の列
result <- median(data$col)

上記のmedian()は、対象のデータフレームの指定した列の中央値を取得します。

使用例

nums <- data.frame(col1=c(99, -2, 91, 86, 88, 95),
                 col2=c(33, 28, 31, 0, 39, 34),
                 col3=c(30, 28, 24, 24, -5, 28),
                 col4=c(1, 4, 11, 0, 2, -10))

result <- median(nums$col2)

nums
cat("中央値:", result)
出力:
  col1 col2 col3 col4
1   99   33   30    1
2   -2   28   28    4
3   91   31   24   11
4   86    0   24    0
5   88   39   -5    2
6   95   34   28  -10

中央値: 32

列ごとの中央値

2つ目は、行ごとの中央値を取得する方法です。

まず、apply()を呼び出します。

そして、apply()の第1引数にデータフレーム、第2引数に「2」、第3引数に「median」を指定します。

#data=対象のデータフレーム
result <- apply(data, 2, median)

上記のapply()は、対象のデータフレームの列ごとの中央値を取得します。

使用例

nums <- data.frame(col1=c(99, -2, 91, 86, 88, 95),
                 col2=c(33, 28, 31, 0, 39, 34),
                 col3=c(30, 28, 24, 24, -5, 28),
                 col4=c(1, 4, 11, 0, 2, -10))

result <- apply(nums, 2, median)

nums
cat("中央値:", result)
出力:
  col1 col2 col3 col4
1   99   33   30    1
2   -2   28   28    4
3   91   31   24   11
4   86    0   24    0
5   88   39   -5    2
6   95   34   28  -10

中央値: 89.5 32 26 1.5

行ごとの中央値

3つ目は、行ごとの中央値を取得する方法です。

まず、apply()を呼び出します。

そして、apply()の第1引数にデータフレーム、第2引数に「1」、第3引数に「median」を指定します。

#data=対象のデータフレーム
result <- apply(data, 1, median)

上記のapply()は、対象のデータフレームの行ごとの中央値を取得します。

使用例

nums <- data.frame(col1=c(99, -2, 91, 86, 88, 95),
                 col2=c(33, 28, 31, 0, 39, 34),
                 col3=c(30, 28, 24, 24, -5, 28),
                 col4=c(1, 4, 11, 0, 2, -10))


result <- apply(nums, 1, median)

nums
cat("中央値:", result)
出力:
  col1 col2 col3 col4
1   99   33   30    1
2   -2   28   28    4
3   91   31   24   11
4   86    0   24    0
5   88   39   -5    2
6   95   34   28  -10

中央値: 31.5 16 27.5 12 20.5 31

まとめ

データフレーム(data.frame)の中央値を取得する方法は、次の3つです。

  • 特定の列の中央値を取得する方法
    result <- median(data$col)
  • 列ごとの中央値を取得する方法
    result <- apply(data, 2, median)
  • 行ごとの中央値を取得する方法
    result <- apply(data, 1, median)

コメント

タイトルとURLをコピーしました