どうも、ちょげ(@chogetarou)です。
データフレーム(data.frame)の中央値を取得する方法を紹介します。
方法

データフレーム(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)
コメント