2017-02-07 10 views
2

私が初めてrenderDataTable機能を使用している、と私はこのようにそれに反応性の変数を渡しています:私は実行するとRシャイニーエラー:「型のオブジェクトがクローサーSubsettableではありません」

x<-reactive ({x[1:3]<-input$num 
    }) 
    output$table <- renderDataTable(x()) 

アプリ、私は "型のオブジェクトクロージャ 'はサブセット化できないと言われています。

私は

が、私はXと呼ばれる関数ではなく、データフレームを、渡していますので、誤差が最も可能性の高い生成されていることを理解して知っています。私は

どのように私はこの問題を解決することができる知らない何

? x()をrenderDataTableに渡す必要があります。私はそれを別の変数に等しく設定し、それを渡すことを試みましたが、うまくいかなかったのです。

この状況で私がrenderDataTableをどのように使用できるかについて私に助言してください。

+0

私は 'output $ table'の' table'のような総称名を別の名前にすることはできません。 –

+0

'x [1:3] < - 入力$ numは何をするのですか? – HubertL

答えて

2

これはうまくいくと思います。そうでなければ私に教えてください。

myx<-reactive ({ 
    x[1:3]<-input$num 
    x 
}) 
output$table <- renderDataTable(data.frame(x=myx())) 
+0

ブリリアント!ありがとう。なぜ私のコードはうまくいかず、あなたのコードはどうだったと思いますか? – magicmykh

+1

エラーはあなたの 'x()'が混乱していることを示しています。リアクティブ関数が正しいオブジェクトを取得しても、それは不平を言ってはいけません。ですから、私は特にリアクティブ関数でオブジェクト 'x'を返します。さらに、 'x'という名前のベクトルを' x'という名前で使用すると、それが重要かどうかわかりません。したがって、私は 'x'の代わりに' myx'を使います。お役に立てれば。 – gsun

関連する問題