2016-09-29 19 views
0

我有下述R降價文件:循環到r降價文檔中反應data.frame

--- 
title: "" 
author: "" 
date: "" 
output: html_document 
runtime: shiny 
--- 

```{r include=FALSE, cache=FALSE} 
library(knitr) 
library(rmarkdown) 
library(plyr) 
library(dplyr) 
library(plotly) 
``` 

```{r Compute, echo=FALSE} 
# load data frame: 
abTestingData <- data.frame("Experiment"=c("original", "original","v1","v1"), 
         "Day"=c("D1","D1","D1","D1"), 
         "N"=c(24965,24965,23962,23962), 
         "n"=c(428,195,387,465), 
         "MonitoredParam"=c("par1","par2","par3","par4")) 

abTestingData$Experiment <- as.character((abTestingData$Experiment)) 
# Compute proportions 
abTestingData$Proportion <- abTestingData$n/abTestingData$N 
noExperiments <- 2 

# Input 1 
selectInput("Experiment","Choose the first experiment", 
     choices = unique(abTestingData$Experiment), 
     selected = unique(abTestingData$Experiment)[1]) 
abTestingData_SelectedExperiment <-  reactive(as.data.frame(subset(abTestingData, Experiment == input$Experiment))) 
firstExperiment <- reactive(abTestingData_SelectedExperiment()) 

# Input 2 
selectInput("Experiment","Choose the second experiment", 
     choices = unique(abTestingData$Experiment), 
     selected = unique(abTestingData$Experiment)[2]) 
abTestingData2_SelectedExperiment <- reactive(as.data.frame(subset(abTestingData, Experiment == input$Experiment))) 
secondExperiment <- reactive(abTestingData2_SelectedExperiment()) 

dayGroup <- table(abTestingData$Day)[[1]]/noExperiments 

data <- reactive({ 

noRows <- dim(firstExperiment())[1] 

data3 <- data.frame("Day"=c(rep(NA, noRows)), 
       "Value"=c(rep(NA, noRows)), 
       "CriticalRange"=c(rep(NA, noRows)), 
       "Significant"=c(rep(NA, noRows)), 
       "BubbleText"=c(rep(NA, noRows)), 
       "BubbleSymbol"=c(rep(NA, noRows))) 


# And critical part - loop through reactive data frames 
for(i in 1:dim(firstExperiment())[1]){ 
    data3$Value[i] <- abs(firstExperiment()$Proportion[i] - secondExperiment()$Proportion[i]) 
} 

return(data3) 

}) 

renderTable({ 
    head(data(), 24) 
}) 
``` 

最後一個循環不計算兩者反應性的數據幀之間的差異。價值,作爲差異總是0.00。我不知道,我做錯了什麼。請幫助我,我已經很長時間了。

回答

0

您的2 selectInput的ID是相同的。我改名爲他們Experiment1Experiment2,現在它應該是罰款:

# Input 1 
selectInput("Experiment1","Choose the first experiment", 
      choices = unique(abTestingData$Experiment), 
      selected = unique(abTestingData$Experiment)[1]) 
abTestingData_SelectedExperiment <-  reactive(as.data.frame(subset(abTestingData, Experiment == input$Experiment1))) 
firstExperiment <- reactive(abTestingData_SelectedExperiment()) 

# Input 2 
selectInput("Experiment2","Choose the second experiment", 
      choices = unique(abTestingData$Experiment), 
      selected = unique(abTestingData$Experiment)[2]) 
abTestingData2_SelectedExperiment <- reactive(as.data.frame(subset(abTestingData, Experiment == input$Experiment2))) 
secondExperiment <- reactive(abTestingData2_SelectedExperiment()) 
+0

非常感謝您! – martinkabe