Si je mets un élément est fonction réactive que j'ai besoin d'eux plus bas le code Comment pourrais-je les rappeler, exemple:l'accès aux éléments à l'intérieur d'une fonction réactive
library(shiny)
library(data.table)
library(formattable)
library(tables)
ui <- fluidPage(
fileInput(inputId = "File",label = "Upload file...",accept=c("zip","text")),
tableOutput("AEP")
)
server <- function(input, output){
options(shiny.maxRequestSize=50*1024^2)
#output$AEP <- renderTable({
data1 <- reactive({
infile=input$File
if (is.null(infile))
return(NULL)
report_list <- c("Park result.txt",
"Park result minus",
"Park result plus")
temp_files <- unzip(infile$datapath)
temp_files <- temp_files[grepl(paste(report_list, collapse = "|"), temp_files)]
T=length(temp_files)
t1=3*c(1:(T/3))
t2=c(1:T)
t2=t2[-t1]
p=c();for(i in 1:T){p[[i]]=c()}
for(i in 1:(length(t1))){p[[t1[i]]]=read.table(temp_files[t1[i]],skip=1,sep=";")}
for(i in 1:(length(t2))){p[[t2[i]]]=read.table(temp_files[t2[i]],skip=2,sep=";")}
Installed_Power=v=park=c();for(i in 1:T/3){park[[i]]=v[[i]]=c()}
for(i in 1:(T/3)){
park[[i]]=as.matrix(cbind(p[[1+(i-1)*3]],p[[2+(i-1)*3]],p[[3+(i-1)*3]]))
}
#Power output :
y=c();for(i in 1:T/3){y[[i]]=c()}
power=Ave.A=Ave.k=AD=c()
for (i in 1:(T/3)){
y[[i]]=park[[i]][,153][3:length(park[[i]][,153])]
y[[i]]=gsub("\\,","",y[[i]])
y[[i]]=as.numeric(y[[i]])
power[i]=sum(y[[i]])/1000
Ave.A[i]=mean(as.numeric(park[[i]][3:length(park[[i]][,162]),162]))
Ave.k[i]=mean(as.numeric(park[[i]][3:length(park[[i]][,163]),163]))
AD[i]=mean(as.numeric(park[[i]][3:length(park[[i]][,200]),200]))
}
})
output$AEP <- renderTable({
df <- data1()
df <-as.data.frame(df)
AEP=data.table(df$power,df$Ave.k,df$Ave.A,df$AD)
})
}
shinyApp(ui=ui, server=server)
maintenant j'ai reac()
, comme fonction réactive. Que faire si dans une autre fonction réactive ou de rendu j'ai juste besoin de T
valeur? puis-je y accéder par $
comme reac()$
T ?? Le code mentionné ci-dessus renvoie l'erreur:
Warning: Error in data.table: column or argument 1 is NULL
code
fonctionne Si je ne pas utiliser la fonction réactive et vient de mettre la fonction à la place rends! Je fais cela parce que j'ai besoin à la fin de télécharger le résultat en fichier pdf. (la table AEP) Aussi, que dois-je faire si je veux utiliser la table AEP dans R markdown?
Cela ne fonctionne pas: Avertissement: Erreur dans data.table: la colonne ou l'argument 1 est NULL –