2

の出力をprint(df.to.print)プロットに印刷してもらいたいのですが。topleft`legend(...)の呼び出しで、またはそのような場所を配置できれば素晴らしいのですがtopright、それは単なるボーナスです。

いくつかのコード:

# A data.frame to play with
df.to.print <- structure(list(p.val = c(0.05, 0.1), self = c(0.0498, 0.0997), 
    H2007.REML = c(0, 0.01), H2007.ref = c(0, 0)), .Names = c("p.val", 
"self", "H2007.REML", "H2007.ref"), row.names = c(NA, -2L), class = "data.frame")

# A simple plot
plot(1)
text(1,1, df.to.print )
# All of the entries are overlapping

# I can insert newlines easily enough
plot(1)
text(1,1, paste(as.character(df.to.print), collapse='\n'))

# But that looses all of the nice formatting in the data.frame.
# Which is easy enough to get on the console with: 
print(df.to.print)

# Bonus points for 'topleft', 'topright', etc. like in legend().

どんな助けでもいただければ幸いです。

4

2 に答える 2

11

これを試して:

plot(1)
text(0.6,1, paste(capture.output(df.to.print), collapse='\n'), pos=4, family="monospace")

pos=4指定した座標の右側にテキストを配置し、左揃えを維持します。固定スペースフォントも使用してみてください。

于 2013-01-14T21:23:28.053 に答える
1

私が知っているこのようなことを行う2つの関数はaddtable2plot、ベースRグラフィックで使用できるplotrixgrid.tableパッケージと、グリッドグラフィックで使用できるgridExtraパッケージ(つまり、ggplot / lattice)です。

私がそれらをどのように見つけたかについて:私はRで良くなるために、SOに関する質問に答えるのにかなりの時間を費やしました、そしてその過程で私は「Rで良くなる」は一般に「で良くなる」と等しいことを発見しましたドキュメントで答えを見つける」。

sosパッケージは良いスタートです。

于 2013-01-14T21:24:47.173 に答える