4

結果と呼ばれる次のデータフレームがある場合

> result
     Name       CV      LCB       UCB
1  within 2.768443 1.869964  5.303702
2 between 4.733483 2.123816 18.551051
3   total 5.483625 3.590745 18.772389

> dput(result,"")
structure(list(Name = structure(c("within", "between", "total"
), .rk.invalid.fields = list(), .Label = character(0)), CV = c(2.768443, 
4.733483, 5.483625), LCB = c(1.869964, 2.123816, 3.590745), UCB = c(5.303702, 
18.551051, 18.772389)), .Names = c("Name", "CV", "LCB", "UCB"
), row.names = c(NA, 3L), class = "data.frame")

このデータをうまく提示するための最良の方法は何ですか?理想的には、レポートに貼り付けることができる画像ファイル、またはテーブルを表すHTMLファイルが必要ですか?

有効数字の数を設定するための追加のポイント。

4

4 に答える 4

7

テーブルの側面については、xtableパッケージが思い浮かびます。これは、HTML だけでなく、LaTeX 出力 (プロのレポート用に Sweave を介して使用できます) を生成できるためです。

Sweave でそれを派手なグラフと組み合わせると (ggplot の例については他の質問を参照)、ほぼ完成です。

于 2009-09-10T21:07:52.757 に答える
2
library(ggplot2)
ggplot(result, aes(x = Name, y = CV, ymin = LCB, ymax = UCB)) + geom_errorbar() + geom_point()
ggplot(result, aes(x = Name, y = CV, ymin = LCB, ymax = UCB)) + geom_pointrange()
于 2009-09-10T21:07:29.543 に答える
0

有効数字を設定するための最も簡単な方法(このサンプルデータの場合、注意してください)は、Nameをrownamesに移動し、全体を丸めることです。

#Set the rownames equal to Name - assuming all unique
rownames(result) <- result$Name  
#Drop the Name column so that round() can coerce
#result.mat to a matrix
result.mat <- result[ , -1]       
round(result.mat, 2) #Where 2 = however many sig digits you want.            

これはそれほど堅牢なソリューションではありません。一意でない名前の値は、他の数値以外の列と同様に、それを壊してしまうと思います。しかし、あなたの例のようなテーブルを作成するために、それはトリックを行います。

于 2009-09-10T22:24:05.160 に答える