問題タブ [reproducible-research]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - Rで3D配列用のラテックステーブルを作成する方法
Rに3次元配列「arr」があります:
次のようなLatexテーブルを作成したい:
上記のようなテーブルをラテックスにするためにRを使用するにはどうすればよいですか? R パッケージの "xtable" が、私が必要とする同様のことを実行できることを知っています。ただし、上記の正確な表を作成できるかどうかはわかりません。
PS: 上記以外に、表に 3D 配列を表示する方法が他にもあるのではないかと思います。
r - 再現可能な研究: GNU make を使用して statTransfer を呼び出して、sas7bdat データ ファイルを csv ファイルに変換します。
質問:
私はGNU Makeが初めてです。プログラムで統計データセットを sas7bdat から csv ファイルに変換し、GNU Make を使用してそれらを相互に同期させて、再現可能な研究を促進するより良い方法はありますか? コーディングの観点から、この問題に別の方法でアプローチしますか?それとも、再現可能な研究を促進するためのより良い方法はありますか? statTransferOptions.txt
静的パターン ルールを使用しているときに、前提条件 (つまり ) を追加できますか?
ソリューションには次のことが必要です。
- すべてのサブディレクトリにあるすべての sas7bdat ファイルを検索します
- statTransfer オプションの読み取り
- オプション付きの statTransfer コマンド ライン ツールを使用して、sas7bdat ファイルを csv ファイルに変換します。
- statTransfer の現在の制限を考えると、これには 2 段階のプロセスが必要になると思います。
- SAS データ ファイル ( .sas7bdat)ごとにstatTransfer コマンド ファイル ( .stcmd) を作成します。
- stcmd ファイルのオプションを使用して statTransfer (st) を実行し、各 stcmd ファイルの csv ファイルを作成します。
- ターゲット stcmd および csv ファイルは、前提条件の sas7bdat ファイルと同じサブディレクトリに存在する必要があります
- 古い stcmd ファイルと csv ファイルを見つけて、新しい sas7bdat ファイルが存在する場合、または基本オプション ファイルが変更された場合にそれらを更新します。
環境:
私は、毎年発行される大規模な統計レポートを継承しています。以前は、分析は SAS で行われていました。現在、R を使用しています。SAS Enterprise Guide によって生成された sas7bdat ファイルの一部は、 sas7bdat パッケージでは正しくインポートされません。商用製品である StatTransfer にはコマンドライン インターフェイスがあり、sas7bdat ファイルを csv ファイルに適切に変換します。ただし、変換を改善するオプションがあります (たとえば、日付形式の書き込み)。sas7bdat ファイルは、データセットのタイプと年に対応する複数のサブディレクトリにあります。
このアプローチは、次のことによってさらに促進されました。
Gandrud、クリストファー (2013-06-21)。R および RStudio を使用した再現可能な研究 (Chapman & Hall/CRC The R Series) (pp. 104-105)。チャップマンとホール/CRC。キンドル版。
トラブルシューティング:
- これはほとんど私が望むことです: GNU make の再帰ワイルドカード?
推奨メイクファイル?
SO からの入力後に修正された Makefile:
ただし、独自の statTransfer を呼び出すのではなく、ツールチェーン全体を使用できるように CRAN sas7bdat パッケージをデバッグするのが正しいオプションである可能性があります。
r - 回帰出力の変数のラベル付け (再現可能な研究)
glm() 関数を使用して適切にフォーマットされた回帰結果を取得し、テーブル (myTable) を作成することができます。
私の質問は次のとおりです。最初の列に表示される変数名を自動的に再ラベル付けするにはどうすればよいですか? これまで、rownames() 関数を使用してきました。
ただし、それは実際には柔軟ではありません。回帰モデルを更新するとしましょう。rownames() 関数のパラメーターを手動で変更する必要があります。「「var1」を「My Var 1」に置き換える」などの検索と置換のソリューションを希望します。
myTable の構造を調べたところ、Web を検索しているときに gsub() 関数が見つかりました。
gsub("var1", "My Var 1", myTable) を試しましたが、テーブルが台無しになりました。
何か案は?
r - R: LaTex の t.test 出力
t.test
の出力をにリダイレクトする機能があるのだろうかLaTeX
。このようなもの
security - Struts 1.1 での Classloader の脆弱性再現手順
Struts1 では、 CVE-2014-0114によるクラスローダの脆弱性の問題があると聞きました。しかし、この点を私のプロジェクトで再現することはできません。この問題を再現する方法を教えてください。私はグーグルで検索しましたが、再現の手順はありません。
Web プロジェクトに、 、 、 struts-1.1
、Jboss -4.2.3.GA
をApache 2.2.0
使用MySql 5.0.37
し て います。JKMod
JDK 1.6.0_12
Ant 1.7.0
r - RMarkdown テーブルの変数名としての動的なギリシャ文字
xtable (pander.table にもこの問題があります) を取得して、テーブルをレンダリングし、ギリシャ文字の Latex を手動で入力することなく、print 関数内のデータ フレームの列にギリシャ文字を割り当てるにはどうすればよいですか?
再現可能な例のデータは次のとおりです。
私は通常、このようなデータ フレームをいくつか持っています。
xtable を使用してデータ フレームのテーブルを作成するときに、定期的に遭遇する特定の問題を次に示します。
- 私がやりたいことは、chiSq をカイ 2 乗の記号に変更することです。ラテックスでは、これ
$x^2$
により適切なシンボルがレンダリングされます。 - p もイタリック体にする必要があります。
- 最後に、LOWRMSEA と HIGHRMSEA は上限と下限です。信頼区間と同じように、列名を削除して RMSEA の列にデータを含めてほしいと思います。
これを行うために私が見つけた唯一の方法は、このコマンドで最初にテーブルを印刷することです
これが生成されます:
ただし、これを作成するには、テーブルを手動で編集する必要があります。
マークダウンドキュメントにコードチャンクとして含めることができるように、テーブルを手動で編集せずにこれを動的に実行できるようにしたいと考えています。ありがとう。
r - 研究プロジェクトをニットベースのセットアップに移行中
最後に、私の状況を考慮して、論文研究を可能な限り再現性のある優れた研究にするという目標に近づけることにしました。LaTeX
現在、論文レポートには使用していないので(このオプションを検討していますが)、それknitr
が最善の方法であると考えています。
私の論文研究 (データ分析)の経験的部分を実装するソフトウェア プロジェクトは、 R
. プロジェクトには、ディレクトリ構造内に複数のファイルが含まれています。これは、科学的なワークフローではかなり一般的です (最上位のサブディレクトリ: analysis, cache, data, figures, import, prepare, present, results, sandbox, utils
)。
knitr
一般的に、レポートの自動生成と再現可能な研究に使用するための多くの情報 (例を含む) を読みました。しかし、私は多数の構成オプションにいくらか圧倒されており、さらに重要なことに、複数のファイルとディレクトリを含む私のようなプロジェクトで使用するための最良/正しい/最適なアプローチについてまだ混乱しています。特に、モジュールの変更をあまり行わずに既存のコードベースを移行するためのフレームワークと手順に関するアドバイスに興味があります。knitr
R
例として、探索的データ分析 (EDA)に関連する私のモジュールを考えてみましょう。私の現在の EDA ワークフローには以下が含まれます。
元の生データから変換された予備データ (「data/transform」サブディレクトリにあります)。
「analysis」ディレクトリにあるモジュール「eda.R」。
私の現在のコードは、単変量および多変量EDAの図(SVGファイル)と、同じグラフィックのみの情報を含む単一のドキュメントレポート(PDFファイル)を生成しています(生成された記述統計は、 「eda.R」スクリプトを実行したときのコンソール出力)。
ベースのプロジェクトに移行するために、ローカルオプションを設定するためのステートメントを含むknitr
ファイル「eda-report.Rmd」を作成しました。私の理解では、EDA ワークフローに従って、「eda.R」内の既存のコード ブロックをチャンクとして定義し、これらの名前付きチャンクを呼び出す必要があるということです。R Markdown
knitr
read_chunk("eda.R")
R
knitr
質問:
それは正しいアプローチですか?knitr
プロジェクト パスの設定、 の使用source()
、 によるプロットのグループ化gridExtra
、潜在的な問題の防止に関するベスト プラクティスは何ですか? 「eda-report.Rmd」に加えて、別の R モジュールを作成する必要があるように思え.Rmd
ますknitr
。はいの場合、どの呼び出しを使用すればよいですか?rmarkdown::render()
またはknitr::knit()
(RStudio
開発に使用している間は、コードを開発環境から独立させたい)?
更新 1 (追加の質問):
「Knit HTML」ボタンを介して.Rmd
ファイルを処理するとドキュメントが生成されるのに、コマンドを介して処理するとファイルが生成されるのに、ディレクティブが存在するにもかかわらず、ファイルが生成されないのはなぜですか?RStudio
HTML
Makefile
Rscript -e 'library("knitr"); knit("eda-report.Rmd")'
.md
HTML
output: html_document
これを読んでくれてありがとう!あなたのアドバイスは大歓迎です!