Eri*_*een 11 latex r r-markdown reproducible-research
我正在使用RStudio,R Markdown,Latex和Pandoc来清理数据,构造变量,运行我的分析并报告结果.我对可重复研究的概念不熟悉,但我很迷恋.很有道理.
动态表格和数字都没有问题.然而,动态文本让我很难过.我可以插入内联代码来说95%的统计数据都是错误的,但我不确定如何以可重现的方式改变我的语言.
例如,如果我有一个对象x = 0.66并且我想写"3个牙医中的2个使用Crest"怎么办?我可以查看x,0.66的当前值,并在文本中键入"2 out of 3",但这是不可重现的.假设我得到新数据并重新运行我的分析,x变为0.52.我的文字已经过时了.当然,我可以动态地报告52%的牙医更喜欢Crest,但是当一切报告为百分比时,报告会变得陈旧.
我的想法是,当我想要改变写作时,我可以创建我可以在文本中调用的函数.例如,"out.of"函数可以用于if else语句来生成文本:
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"))...)
Run Code Online (Sandbox Code Playgroud)
我还可以创建一个分数函数,它可以做十分之一,五分之二,三分之一......
我相信其他人已经解决了这个问题.任何线索?想法?
有一个包FRACTION,当你替换/"out of"时,它可以工作.但是,使用小数位数时的输出很奇怪:
library(FRACTION)
fra(0.66,j=2)
# [1] "33 / 50"
fra(0.66,j=1)
#"7 / 1e+08"
Run Code Online (Sandbox Code Playgroud)
编辑@Dieter Menne:忘记这一点,请参阅下面的@Ben Bolker.
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |