3

対応するデータ行の横に実行されている小さな四分位数のプロットを含む、Tufteによって考案されたテーブルの素晴らしいバージョンがあることを覚えている場合:

ここに画像の説明を入力してください

パッケージNMOFと関数を使用してRにこのようなソリューションを実装しますqTable。これにより、基本的に上記のテーブルが作成され、LaTeXコードとして出力されます。

require(NMOF)
x <- rnorm(100, mean = 0, sd = 2)
y <- rnorm(100, mean = 1, sd = 2)
z <- rnorm(100, mean = 1, sd = 0.5)
X <- cbind(x, y, z)
qTable(X,filename="res.tex")#this will save qTable in tex format in current dir

この視覚化の方法は、提示する情報が少量で、完全なグラフのためにスペースを無駄にしたくない場合に特に便利です。しかし、私は少しハックしたいと思いqTableます。分位数プロットを表示する代わりに、平均の標準誤差を表示したいと思います。私はそのような機能をハッキングするのは得意ではなく、ブルートフォースを使ってそれを行いました。qTable分位数を計算する関数の行を置き換えました。

A <- apply(X, 2L, quantile, c(0.25, 0.5, 0.75))

標準誤差を計算する非常に残忍なもので:

require(psych)#got 'SE' function to compute columns standard deviation     
M = colMeans(X)#column means
SE = SD(X)/sqrt(nrow(X))#standard error
SELo = M-SE#lower bound
SEHi = M+SE#upper bound
A = t(data.frame(SELo,M,SEHi))#combines it together

私はそれがおそらく持続不可能なアプローチであることを知っていますが、実際にはある程度機能します-それは標準誤差をプロットしますが、プロットにこのギャップを保ちます:

ここに画像の説明を入力してください

そして、このギャップをなくしたいと思います。

これは、上記で説明した変更を加えたqTable関数です。

4

1 に答える 1

3

ギャップを削除するには、次の2行を挿入します。

B[2, ] <- B[3, ]
B[4, ] <- B[3, ]

forで始まるループの直前

for (cc in 1L:dim(X)[2L]) {...

なぜそれが機能するのですか?グラフを左から右に読むと、5行は次のB場所に対応しています。

1) the left segments start
2) the left segments ends
3) the dots are
4) the right segments start
5) the right segments end

ですから、強制することB[2, ]B[4, ]B[3, ]あなたは効果的にギャップを取り除くことができます。

于 2012-07-12T01:45:30.627 に答える