2016-08-02 4 views
1

sliced_qbot.Rdatasliced_qbot.Rdatasliced_q2m.Rdatasliced_ubot.Rdatasliced_vbot.Rdata [256,128,360]の4つの3d行列があります。最初の2つの行列には実数の組み合わせがあり、NAのものがあり、最後の2つはすべて実数です。しかし、私が使用して行列を含む2 NAの要約統計情報を取得しようとすると:R統計量の代わりに0とNAの数を返す行列の概要

summary(sliced_q2m.Rdata) 
summary(sliced_qbot.Rdata) 

これは、任意のNA値を持っていると返すと、実際の要約はありませんsummary(sliced_ubot.Rdata)summary(sliced_vbot.Rdata)に対し両方

ためmin=0 q1=0 med=0 mean=0 q3=0 max=0, NA's =7212960を返します。 NAの値を持つ2つの行列で要約が機能しない理由はわかりませんが、NAの値がない2つの行列では機能します。

+0

それは私のために働く - あなたは 'NA'を含む行列には' NA'と0以外のものが含まれていると確信していますか? –

+0

はい、行列は合計117,96,480スロットを持ち、2つは45,83,520の非NA非0エントリを持っています。 –

+0

変数が大きすぎて問題に含めることができないように思えます。各配列(おそらく 'summary(sliced_qbot [1:3,1:3,1:3])'など)のサブセットを取ることができますか?もしそうなら、この質問を再現可能にして、サンプルデータ(例えば 'dput(...) ')を表示してください。さもなければ、私はあなたが多くの答えを得ることができないのではないかと心配しています。 – r2evans

答えて

0

これは、ディスプレイの丸み付けによるものです。

set.seed(42) 
rndm <- rexp(10000, 1e8) 
summary(rndm) 
#  Min. 1st Qu. Median  Mean 3rd Qu.  Max. 
# 1.950e-12 2.876e-09 6.887e-09 1.007e-08 1.413e-08 1.058e-07 
summary(matrix(rndm, ncol = 2)) 
#  V1     V2   
# Min. :1.950e-12 Min. :2.720e-12 
# 1st Qu.:2.946e-09 1st Qu.:2.811e-09 
# Median :6.967e-09 Median :6.823e-09 
# Mean :1.023e-08 Mean :9.896e-09 
# 3rd Qu.:1.417e-08 3rd Qu.:1.408e-08 
# Max. :8.462e-08 Max. :1.058e-07 

表示のためにわずかに異なるロジックをトリガするために、単一のNAを注入:

summary(matrix(c(NA, rndm[-1]), ncol = 2)) 
#  V1    V2   
# Min. :0e+00 Min. :2.720e-12 
# 1st Qu.:0e+00 1st Qu.:2.811e-09 
# Median :0e+00 Median :6.823e-09 
# Mean :0e+00 Mean :9.896e-09 
# 3rd Qu.:0e+00 3rd Qu.:1.408e-08 
# Max. :1e-07 Max. :1.058e-07 
# NA's :1       

あなたがして、最初の列を見て少し中に潜ることができます。

まだ
summary(matrix(c(NA, rndm[-1]), ncol = 2)[,1]) 
# Min. 1st Qu. Median Mean 3rd Qu. Max. NA's 
# 0e+00 0e+00 0e+00 0e+00 0e+00 1e-07  1 

str(summary(matrix(c(NA, rndm[-1]), ncol = 2)[,1])) 
# Classes 'summaryDefault', 'table' Named num [1:7] 1.95e-12 2.95e-09 6.97e-09 1.02e-08 1.42e-08 ... 
# ..- attr(*, "names")= chr [1:7] "Min." "1st Qu." "Median" "Mean" ... 
まですべてゼロになります

これは、実際の統計値が非常に小さい数値であり、表示のために丸められていることを示しています。

options(digits=15) 
summary(matrix(c(NA, rndm[-1]), ncol = 2)) 
#  V1      V2     
# Min. :1.9490000e-12 Min. :2.71670054640e-12 
# 1st Qu.:2.9464250e-09 1st Qu.:2.81112083154e-09 
# Median :6.9705950e-09 Median :6.82337492704e-09 
# Mean :1.0235797e-08 Mean :9.89606947511e-09 
# 3rd Qu.:1.4169548e-08 3rd Qu.:1.40828140108e-08 
# Max. :8.4623358e-08 Max. :1.05845029551e-07 
# NA's :1           
+0

私は文字通りそれを理解しました。助けてくれてありがとう! –

1

DOH:

はまた、これはこれで表示丸めの問題であることを確認することができます!さて、私はちょうど表示された桁数を増やさなければなりませんでした。私のデータポイントのほとんどは本当に小さな数字なので、私はより多くの数字スペースが必要になるはずです。

> options(digits=20)> summary(sliced_q2m)実際の要約

Min.1stクを返します。中央平均 2.6467755999999998e-06 5.5907318890000002e-04 3.2247315394000001e-03 4.8551256022999999e-03 第3世紀マックスNAの 6.6539720865000001e-03 2.3001585155700000e-02 7212960

ありがとうございました!

関連する問題