2017-09-13 2 views
1

Sweave/knitrドキュメントに短いコードのRコードを入力しようとしています。私のコードスウィーブ用のRチャンクのネストされたループ

<<echo = TRUE>>= 
while (sqrt(x^2 + y^2) > 1) { 
     sprintf("Y = %f", y) 
     x = runif(1,min,max) 
     y = runif(1,min,max) 
} 
sprintf("X = %f", x) 
@ 

2つのループは独立して動作しますが、上記のようにネストされていると動作しません。コンソールでコードを貼り付ける際のトラブルシューティングを試みました。私の教授は、すべての作業を単一のラテックス文書にまとめることを要求しています。どんな助けも大歓迎です。

答えて

1

これは、スウェーブではなくコード内で問題ありません。

  1. ループを入力する前に、xとyの値は設定されていません。
  2. デフォルト値(0と1)を使用する場合は、minとmaxの値を指定しないで、引数をまったく使用しないでください。

このコードは機能しますが、それは役に立ちますか?

\documentclass{article} 
\usepackage[english]{babel} 
\begin{document} 
<<echo = TRUE>>= 
x=10 
y=10 
while (sqrt(x^2 + y^2) > 1) { 
     sprintf("Y = %f", y) 
     x = runif(1,min=0,max=1) 
     y = runif(1,min=0,max=1) 
} 
sprintf("X = %f", x) 
@ 
\end{document} 
関連する問題