2012-12-29 16 views
11

RStudio、R Markdown、Latex、およびPandocを使用してデータを消去し、変数を構成し、分析を実行し、結果を報告しています。私は再現可能な研究の概念には新しいですが、私は夢中になっています。たくさんの意味があります。再現性のある研究のための自動テキスト

ダイナミックな表と数字は問題ありません。しかし、動的なテキストは、私を困惑させています。インラインコードを挿入して、すべての統計の95%が偽であると言うことができますが、どのように再現可能な方法で自分の言語を変更することができないのか分かりません。

たとえば、オブジェクトx = 0.66があり、「3人中2人の歯科医がクレストを使用しています」と書いたければどうなりますか?私はxの現在の値0.66を見ることができ、テキストの中で "2のうち3"をタイプすることができますが、これは再現できません。新しいデータを取得して分析を再実行し、xが0.52になったとしましょう。私のテキストは古いです。確かに、私は歯科医の52%がクレストを好むと動的に報告することができますが、すべてがパーセンテージとして報告されると、レポートは古くなります。

私は、文章を変更したいときに、テキスト内で呼び出せる関数を作成できると考えました。

ifelse(x < 0.09,"fewer than 1 out of 10", 
ifelse(x >= 0.09) & x < 0.11,"roughly 1 out of 10", 
ifelse(x >= 0.11 & x < 0.15,"slightly more than 1 out of 10", 
ifelse(x >= 0.15 & x < 0.19,"nearly 2 out of 5", 
ifelse(x >= 0.19 & x < 0.21,"roughly 2 out of 5", 
... 
ifelse(x >= 0.95 & x < 0.99,"nearly all", 
ifelse(x >= 0.99,"all","fubar"))...) 

私も、5分の2、1を十分の一のために似た何かをするだろう分数関数を作成することができます。例えば、機能「out.of」else文がテキストを生成する場合に仕事ができます-third ...

他の人が既にこの問題に取り組んでいると確信しています。すべてのリード?アイデア?

+0

これは本当に興味深い質問ですが、読解可能性の限界に本当に依存すると思います。例えば、「1 out of 20」または「1 out of 25」を有効なオプションと見なしますか?より一般的な休憩(「2のうち2」のような)のために設定したいしきい値はありますか?これを整理したら、 'cut()'を試して、 'ifelse()'の代わりにラベルを指定することをお勧めします。私はパッケージのいずれかがあなたのためにそれを行うとは思わないが、彼らはそこに行くのを助けるべきである! – A5C1D2H2I1M1N2O1R2T1

+0

パーセンテージの表現に関しては、「out of 10」が私が望む最低のものだと思います。今年は(ゼロのベースラインから)1トンのRを学んだが、cut()はしなかった。それを調べます。ありがとう。 –

+0

それで、あなたは "out of"カテゴリが最も有用であるかを理解しなければなりません。 「{9,8,7,6}のうち」のようなカテゴリは、精神的にそれらの数値をパーセントに変換しようとする読者の一部に課税されるので、あまりユーザーフレンドリーではないかもしれません。がんばろう! – A5C1D2H2I1M1N2O1R2T1

答えて

7

FRACTIONパッケージがあります。「out of」で置き換えたときに動作する可能性があります。ただし、小数点以下の桁数を使用して、出力は奇妙です:@Dieter Menneによって

library(FRACTION) 
fra(0.66,j=2) 
# [1] "33/50" 
fra(0.66,j=1) 
#"7/1e+08" 

編集:以下@Ben Bolkerを参照してください、このことを忘れています。

+5

'MASS :: fractions':' fractions(0.66、cycles = 3) 'でこれを回避することができるかもしれません(そして' MASS'はすでに推奨されています) –

+0

Krr ....私は知っていたはずですが、それを見つける場所を覚えていない。 –

+0

すばらしい、@BenBolker –

関連する問題