2015-09-21 3 views
6

私はRでJupyterを使い始めました.HTMLやLaTeX出力を表示するには良い方法があるのでしょうか?Jupyter(R)でLaTeX/HTMLをレンダリングするには?

ここで私が働いていた希望、いくつかのサンプルコードです:代わりにHTMLをレンダリングする

library(xtable) 
x <- runif(500, 1, 50) 
y <- x + runif(500, -5, 5) 
model <- lm(y~x) 
print(xtable(model), type = 'html') 

、それだけで平文としてそれを表示するには。その行動を変える方法はありますか?

+0

:-)

ジャストないprint(...)オブジェクトを行います。あなたの質問を明確にしてください。 – SabDeM

+0

右 - HTMLコードをHTMLテーブルとして表示するのではなく、プレーンテキストとして表示します。 – Jeremy

答えて

12

repr(オプション設定用)とIRdisplayの組み合わせはHTML用に機能します。他の人はラテックスについて知っているかもしれない。

# Cell 1 ------------------------------------------------------------------ 

library(xtable) 
library(IRdisplay) 
library(repr) 

data(tli) 
tli.table <- xtable(tli[1:20, ]) 
digits(tli.table) <- matrix(0:4, nrow = 20, ncol = ncol(tli)+1) 

options(repr.vector.quote=FALSE) 

display_html(paste(capture.output(print(head(tli.table), type = 'html')), collapse="", sep="")) 


# Cell 2 ------------------------------------------------------------------ 

display_html("<span style='color:red; float:right'>hello</span>") 

# Cell 3 ------------------------------------------------------------------ 

display_markdown("[this](http://google.com)") 

# Cell 4 ------------------------------------------------------------------ 

display_png(file="shovel-512.png") 

# Cell 5 ------------------------------------------------------------------ 

display_html("<table style='width:20%;border:1px solid blue'><tr><td style='text-align:right'>cell 1</td></tr></table>") 

enter image description here

4

私は最初の、シンプルなユースケースのためのシンプルな答えを見つけました。

xtableをprintの呼び出しでラップすることなく呼び出すと、完全に動作します。たとえば、

library(xtable) 
data(cars) 
model <- lm(speed ~ ., data = cars) 
xtable(model) 
+0

これは、xtableがクラス "xtable"、 "data.frame"および表示システム(repr/IRdisplay)のオブジェクトを返すため、irkernelのhtmlに変換されるためです。 –

2

Jupiterでは、Markdownを使用できます。 JupyterセルをコードセルからMarkdownセルに変更してください。これを済ませたら、LaTexの前後にダブルドル記号( "$$")を置くだけです。次に、セルを実行します。

手順は次のとおりです。 1. Markdownセルを作成します。 2. $$ some LaTex $$ 3. Jupyter内の再生ボタンを押します。 xtableによって生成されたHTMLとしてxtableによって返されたオブジェクトを表示するセッションで次の関数を定義

0

repr_html.xtable機能なし

repr_html.xtable <- function(obj, ...){ 
    paste(capture.output(print(obj, type = 'html')), collapse="", sep="") 
} 

library(xtable) 
data(cars) 
model <- lm(speed ~ ., data = cars) 
xtable(model) 

、返されたオブジェクトは、クラスにdata.frame、表示システムもあるためカーネルはそのオブジェクト(= htmlテーブル)をrepr::repr_html.data.frameでリッチに表示します。あなたのコードは、プレーンテキストが、HTMLコードが表示されません

関連する問題