2016-11-30 1 views
-1

brillant J'ai quelque chose de code comme ceci:Annexer une trame de données réactif dans R

for(#loop starts .... 
    temp_data_frame <- reactive(d_frame2()[0,]) #only for if i = 1 
    temp_data_frame <- reactive(rbind(temp_data_frame(), d_frame2())) 
    )#for loop ends 

subset_dataset <-eventReactive(input$go, {temp_data_frame()}) 
renderDataTable(subset_dataset(), options = list(pageLength = 15)) 

En d_frame2, je reçois de nouvelles données chaque boucle de temps est exécuté. Je crée un autre temp_data_frame avec le même nom de colonne que d_frame2, de sorte que l'ajout sera facile. Enfin, en utilisant renderDataTable, je montre la sortie. Ce code entraîne cette erreur:

evaluation nested too deeply: infinite recursion/options(expressions=)? 

je trouve que cette ligne: temp_data_frame <- reactive(rbind(temp_data_frame(), d_frame2())) crée de l'erreur. Comment cela peut-il être résolu? S'il vous plaît aider.

Répondre

0

La récursion dans votre définition de fonction provoque de nombreuses évaluations (infinies?). Que faire si vous supprimez la ligne tous ensemble? Ou renommer la 2ème fonction, donc

temp_data_frame2 <- reactive(rbind(temp_data_frame(), d_frame2())) 

J'ai juste eu un problème similaire avec une fonction récursive.

+0

Déjà fait cela, mais si vous le faites, comment fonctionne l'ajout? – Aizen

+0

Chose amusante, c'est que j'ai dû résoudre mon problème en utilisant une boucle for. Pourquoi avez-vous la première ligne ici? –

+0

Est-il impossible de remplacer les deux lignes par cette seule ligne? 'temp_data_frame <- réactif (rbind (d_frame2() [0,]), d_frame2()))' –