あなたのための簡単なもの、最愛のRの達人:
私は割り当てを行っていますが、この演習では、infert
データセット(組み込み)、具体的にはその列の1つであるinfert$age
から基本統計を取得するように求められました。 。
データセットに精通していない人向け:
> table_ages # Which is just subset(infert, select=c("age"));
age
1 26
2 42
3 39
4 34
5 35
6 36
7 23
8 32
9 21
10 28
11 29
...
246 35
247 29
248 23
列 "パーセンタイル"を見つけるが求められるまで、列、分散、歪度、標準偏差の中央値をすべて見つけなければなりませんでした。
私はこれまでに何も見つけることができませんでした、そしておそらく私はギリシャ語、割り当ての言語から間違って翻訳したかもしれません。それは「ποσοστημόρια」でした、Google翻訳は英語の用語を「パーセンタイル」と指摘しました。
infert$age
の「パーセンタイル」を見つけるためのチュートリアルやアイデアはありますか?
ベクトルx
を注文し、ベクトルの半分の値を見つけると、中央値、つまり50パーセンタイルが見つかりました。同じロジックが任意のパーセンテージに適用されます。以下に2つの例を示します。
x <- rnorm(100)
quantile(x, probs = c(0, 0.25, 0.5, 0.75, 1)) # quartile
quantile(x, probs = seq(0, 1, by= 0.1)) # decile
quantile()
関数はおそらくあなたが望むことの多くを行いますが、質問があいまいだったので、quantile()
とはわずかに異なる何かをする別の答えを提供します。
_ecdf(infert$age)(infert$age)
_
_infert$age
_と同じ長さのベクトルを生成し、各観測値の下にある_infert$age
_の割合を与えます。 ecdf
ドキュメントを読むことができますが、基本的な考え方は、ecdf()
が経験累積分布を返す関数を提供するということです。したがって、ecdf(X)(Y)
は、YのポイントでのXの累積分布の値です。30未満になる確率を知りたい場合(つまり、サンプル内の百分位数30)は、次のようになります。
_ecdf(infert$age)(30)
_
このアプローチとquantile()
関数の使用の主な違いは、quantile()
では、レベルを取得する確率を入力する必要があり、これを取得するにはレベルを入力する必要があることです。確率を出します。
_table_ages <- subset(infert, select=c("age"))
summary(table_ages)
# age
# Min. :21.00
# 1st Qu.:28.00
# Median :31.00
# Mean :31.50
# 3rd Qu.:35.25
# Max. :44.00
_
これはおそらく彼らが探しているものです。 summary(...)
を数値に適用すると、データの最小、最大、平均、中央値、および25パーセンタイルと75パーセンタイルが返されます。
ご了承ください
_summary(infert$age)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 21.00 28.00 31.00 31.50 35.25 44.00
_
番号は同じですが、形式が異なります。これは、_table_ages
_が1列(年齢)のデータフレームであるのに対し、_infert$age
_は数値ベクトルであるためです。 summary(infert)
と入力してみてください。
{dplyr}を使用:
library(dplyr)
# percentiles
infert %>%
mutate(PCT = ntile(age, 100))
# quartiles
infert %>%
mutate(PCT = ntile(age, 4))
# deciles
infert %>%
mutate(PCT = ntile(age, 10))
次のパーセンタイルを提供するhmiscパッケージを使用することもできます。
0.05、0.1、0.25、0.5、0.75、0.9、0.95
Describe(table_ages)を使用するだけです