まず、Visual Basicを習得するのは初めてです。私は3列のユーザー定義データをRに使用する(グラフ目的のために)コードを記述しようとしています。ユーザーは、Rからのグラフ出力を作成するExcelのボタンを押します。私は、少なくともこの例に従うRと対話することができました:http://shashiasrblog.blogspot.com/2013/10/vba-front-end-for-r.htmlVBAを使用してデータをRに送信
これを拡張して複数のセル入力を組み込み、
Sub RunRscript()
Dim shell As Object
Set shell = VBA.CreateObject("WScript.Shell")
Dim waitTillComplete As Boolean: waitTillComplete = True
Dim style As Integer: style = 1
Dim errorCode As Integer
Dim Attributes() As Variant
Attributes = Sheet55.Range("A2:C68")
Dim path As String
path = "RScript S:\...\test.R " & Attributes
errorCode = shell.Run(path, style, waitTillComplete)
End Sub
が、私はエラーを取得しています:「コンパイルエラー:型の不一致を」R.におけるデータフレームは、ここに私の試みです。私はAttributes()を間違って定義していると仮定しています。文学やチュートリアルへの助けや指導は大変ありがたいです!すべての正直なところ、私はpathとerrorCode行を理解していません。
おかげで、すべて、 J
'Attributes'を使用すると、指定した範囲の値の2次元配列です。そのようなコマンドライン上に文字列として書くことはできません。範囲をテキストファイルに書き込んだ後、Rスクリプトにファイルパスを渡すことを検討することができます –
実際に@TimWilliamsが述べているように、範囲はコマンドラインでargsを渡すために使われるスカラー値ではありません。実際、それは3列、66行のかなり長いテーブルのような範囲です。 txt/csvをRで読み込み、 'read.table()'をdfに、 'readLines()'をlistに保存することを検討してください。 – Parfait
非常に有用なコメント。私は後でRで使用するためにCSVファイルに書き込むコードを見つけることができました。指導をいただきありがとうございます! –