2011-03-12 4 views
1

Sweaveで\ Sexper {}の中で条件を使うことは可能ですか?私がやろうとしているものの例は、私は、コードの最初のビットをしようとすると、私は Sexpr {}内のif else(もしあれば他の)条件を使う

\Sexpr{if(x<0){paste(-1*x, "lower", sep="")}else{paste(x, "higher", sep=""}} 

ような何かをしたい、

\Sexpr{if(coef(model1)[3]<0){-1*round(coef(model1)[3],3)}else{round(coef(model1)[3],3)}} 

より精巧である私は、次のエラーを取得:

Error in parse(text = cmd) : <text>:2:0: unexpected end of input 
1:if(coef(model1)[3]<0){-1*round(coef(model1)[3],3) 

アイデアあなたの助けのための

おかげで、

-mark

+0

チェックしましたか?言って、 '\ Sexpr {if(1 <2){" A "} else {" B "}}'は動作しますか? – Marek

+0

ようこそスタックオーバーフロー!私はあなたが2つの口座を持っているのを見ます登録されていないもの(http://stackoverflow.com/users/652916/mark-clements)とこれです。それらを組み合わせる方法については、このリンクを参照してください。 http://meta.stackexchange.com/questions/18232/how-can-one-link-merge-combine-associate-two-accounts-users-anonymous-unregiste – Aaron

答えて

4

中括弧がSexpr式では使用できません。代わりに、隠しコードチャンクで計算を行い、結果をSexprで使用します。

ははSweaveのマニュアルを参照してください:あなたは、最小限の例をhttp://www.stat.uni-muenchen.de/~leisch/Sweave/Sweave-manual.pdf

+0

ああ。もう。ご協力いただきありがとうございます! –