4

複数のユーザーが使用できるようにしたいデータを読み込んで処理するコードがありますが、それらのユーザーにコードを表示させたくありません。

RまたはRStudioを使用してこれを行う方法はありますか?

4

2 に答える 2

9

1 つのオプションは、Rserve などを使用して、関数をサービスとして公開することです。ただし、その場合、ユーザーのためにコードを実行するサーバーをホストする必要があります。

于 2012-04-20T19:20:00.960 に答える
3

Rコードを使用する場合、コードをユーザーから隠す方法はありません。パッケージのバイナリ パッケージを配布できますが、これには依然としてクリア テキストの R コードが含まれます。さらに、コードが R に読み込まれると、ユーザーはコマンド ラインでかっこなしで入力することにより、任意の関数のソースを確認できます。

コードを非表示にする理由がよくわかりません。たぶん、質問でそれについてコメントして、物事をより明確にすることができます。さらに、コードを非表示にする以外の解決策を見つけて、あなたの質問に答えることができるかもしれません. コードを非表示にすることが経験の浅いユーザーから実装の詳細を守ることである場合は、次のことができます。

  1. ユーザーが利用できるようにする関数のラッパー関数を作成します。このようなラッパー関数は次のようになります。

    spam_wapper = function(a, b) {
       return(.spam(a = a, b = b))
    })
    
  2. すべての非ラッパー関数をユーザーから見えないようにします。パッケージの名前空間を明示的に指定することで、引き続きそれらにアクセスできます。

    pkgname::.spam
    

    しかし、コードにたどり着くのが難しく、経験の浅い R プログラマーにとっては見つけにくくなっています。しかし、彼らがトリックを学ぶと、これはもはや役に立ちません.

あなたの理由が R コードを使ってお金を稼ぎたいからなら、巧みに作成された R コードを非表示にするか (その場合、私は間違いなくそれを共有します :))、またはあなたのアイデアを盗む可能性のある競合からコードを非表示にします。その場合、@baptiste の提案が機能する可能性があります。しかし、Fortran、C、または C++ でコードを書き直すには、非常に多くの作業が必要だと思います...私は、ソースコードを提供するだけでよいと思います...

于 2012-04-21T14:22:33.440 に答える