1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RとJMPの分位点

Last updated at Posted at 2021-01-07

RとJMPを行ったり来たりしてデータを解析してるんですが、Rで0.5%と99.5%の分位点を出した時にあれ?ってなったのでメモ。
データはみんな大好きirisちゃんを使いました。
JMPにも同じサンプルデータが入ってるんですね。ずっと使ってるのに知らなかった〜
参考:あやめの測定値を検討する

動作環境 (2021/01/08 追記)

  • macOS Catalina 10.15.7
  • R version 4.0.2 (2020-06-22)
  • R Studio Version 1.3.1093
  • JMP® Pro 15.0.0

【JMP】一変量の分布

iris.jmpのデータを開いたら、シンプルに一変量の分布でがくの長さの分位点を出してみます。
スクリーンショット 2021-01-07 0.11.20.png
0.5%が4.3、99.5%が7.9でした。

【R】stats::quantile()

深く考えず、irisを読み込んでquantile()で0.5%と99.5%の分位点を出します

quantile
data("iris")
iris$Sepal.Length %>% quantile(c(0.005, 0.995))

> iris$Sepal.Length %>% quantile(c(0.005, 0.995))
  0.5%  99.5% 
4.3745 7.7510 

おや…?
どゆことやねん!とおもって?quantileで確認。
どうやら分位点は求め方がいくつかあるようですね。ここでtype =を指定しないといけないのか…と気づく。

分位点の説明は藤本先生のHPがめちゃくちゃ参考になりました。

とりあえず全部のtypeを出してみた

WikipediaをみてもJMPがどれに該当するかよくわからなかったので、とりあえず全typeで結果を出してみることにしました。

type1から9を試す
x <- iris$Sepal.Length
results <- list()
for(i in 1:9){
  results[[i]] <- quantile(x, c(0.005, 0.995), type = i)
}
bind_rows(lapply(results, as.data.frame.list))

> bind_rows(lapply(results, as.data.frame.list))
     X0.5.  X99.5.
1 4.300000 7.90000
2 4.300000 7.90000
3 4.300000 7.70000
4 4.300000 7.75000
5 4.325000 7.85000
6 4.300000 7.90000
7 4.374500 7.75100
8 4.308500 7.88300
9 4.312625 7.87475

どうやらデフォルトはtype = 7みたいですね。
そして、JMPで出した分位点と同じ値になったのはtype = 1, 2, 6でした。
試しに0.25%と97.5%の値も確認しましたが、こちらも同じ。
というわけで、xをiris$Sepal.Widthに変えてみます。0.05%、0.25%、97.5%、99.5%の値も見てみることにします。

x=Sepal.Width
x <- iris$Sepal.Width
results2 <- list()
for (i in 1:9) {
  results2[[i]] <- quantile(x, c(0.005, 0.025, 0.975, 0.995), type = i)
}
bind_rows(lapply(results2, as.data.frame.list))

> bind_rows(lapply(results2, as.data.frame.list))
    X0.5.    X2.5.   X97.5.  X99.5.
1 2.00000 2.200000 4.000000 4.40000
2 2.00000 2.200000 4.000000 4.40000
3 2.00000 2.200000 3.900000 4.20000
4 2.00000 2.200000 3.925000 4.25000
5 2.05000 2.225000 3.975000 4.35000
6 2.00000 2.200000 4.022500 4.40000
7 2.14900 2.272500 3.927500 4.25100
8 2.01700 2.209167 3.990833 4.38300
9 2.02525 2.213125 3.986875 4.37475

type = 1,2type = 6で異なる値になりました!
JMPでもがくの幅の分位点を出してみます。
スクリーンショット 2021-01-07 12.38.50.png
type = 6と同じ値になってますね。

結論

どうやらJMPでの分位点の求め方はRのtype = 6に該当するようです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?