1

gobというデータセットをRにロードして、便利なsummary関数を試しました。3番目の四分位数は平均よりも小さいことに注意してください。どうすればいいの?それは私のデータのサイズですか、それともそのようなものですか?

すでに数字パラメーターに大きな値(例:10)を渡そうとしましたが、問題は解決しません。

> summary(gob, digits=10)

   customer_id         100101.D            100199.D            100201.D        
 Min.   :   1083   Min.   :0.0000000   Min.   :0.0000000   Min.   :0.0000000  
 1st Qu.: 965928   1st Qu.:0.0000000   1st Qu.:0.0000000   1st Qu.:0.0000000  
 Median :2448738   Median :0.0000000   Median :0.0000000   Median :0.0000000  
 Mean   :2660101   Mean   :0.0010027   Mean   :0.0013348   Mean   :0.0000878  
 3rd Qu.:4133368   3rd Qu.:0.0000000   3rd Qu.:0.0000000   3rd Qu.:0.0000000  
 Max.   :6538193   Max.   :1.0000000   Max.   :1.0000000   Max.   :0.7520278  

gob $ 100201.Dの場合、平均は0.0000878ですが、3番目のQuであることに注意してください。=0。

4

2 に答える 2

14

これはバグではなく、データに0の値がたくさん含まれているだけです。たとえば、xを12個の0と1個の1で作成すると、3番目の四分位数が平均よりも小さいという結果が得られます。

 x<-c(0,0,0,0,0,0,0,0,0,0,0,0,1)
summary(x)

  Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.00000 0.00000 0.00000 0.07692 0.00000 1.00000 

列でtable()を使用して、値の分布を確認してください

table(x)
 x
 0  1 
 12  1 
于 2012-12-06T07:19:43.237 に答える
5

3番目の分位数は平均より低くなる可能性があります。最高値の75%ではありませんが、最低から最高の順に並べた場合のベクトルのカウントの75%の値です。言い換えると:

Vector <- c(0,0,0,0,0,0,0,1)
mean(Vector)
[1] 0.125
quantile(Vector, 0.75)
[1] 0

3番目の分位数を見つけるために、Rはすべてのデータを低いものから高いものの順に並べ、次にそのベクトルの長さの75%に最も近い値を選択します。だから基本的に:

3rdQuar = Vector[round(length(Vector)*0.75)]

(2つの整数の間に収まる場合、Rは実際には2つを平均することに注意してください。ただし、これが基本的な考え方です)

于 2012-12-06T07:22:54.317 に答える