Fehler in der rep: invalide 'mal' argument

Wenn ich versuche, führen Sie den folgenden code für 10000 Iterationen erhalte ich die folgende Fehlermeldung.Fehler in rep(G1[, 2], G1[, 3]) : 'invalid' - mal' - argument. So don T wissen, wie man den code ändern um diesen Fehler zu beheben. Möchte im Grunde nur zum erstellen von Zeitreihen für die generator-Leistung unter Verwendung der Gleichung für die Zeit, die zum Ausfall und Reparaturzeit für 8736 Stunden im Jahr, so dass ich Zeit habe die Serie in Stunden, wenn der generator in Betrieb ist, wenn nicht. Die Ausgangslage ist, dass der generator in Betrieb ist auf die erste Stunde. Sicher gibt es eine elegantere Lösung für die Simulation dieses ich bin einfach nicht in der Lage, es zu finden. Jeder Kommentar oder Hilfe wird sehr geschätzt.

MTTF<-2940 # MEDIUM TIME TO FAIL(hours)
MTTR<-60 # MEDIUM TIME TO REPAIR (hours)
TTF<--MTTF*log(runif(100))# equation for Time to fail 
TTR<--MTTR*log(runif(100))# equation for Time to repair
mix<-rep(0,length(TTF)+length(TTR))
sw<-rep(0,length(TTF)+length(TTR))
for(i in 1:length(TTF)){
mix[2*i-1]<-TTF[i]
sw[2*i-1]<-1
mix[2*i]<-TTR[i]
}
cmix<-cumsum(mix)
ccmix<-cbind(cmix[1:which(cmix>8736)],sw[1:which(cmix>8736)])
ccmix[dim(ccmix)[1],1]<-8736


G1<-round(ccmix)
# transform binary values
G1[G1 == 1] <- 12 # is the capacity of the generator

G1 <- cbind(G1, c(G1[1,1], diff(G1[,1])))
a1 <- rep(G1[,2], G1[,3]) ## GENERATING 8736 Values

Also die gewünschte Ausgabe sind 8736 Werte von 12 bei ist und 0, wenn Sie AUSGESCHALTET ist

Vielleicht gibt es einen besseren Ansatz für die Erzeugung von Zeitreihen aus den verfügbaren Daten
Ich habe nicht bekommen, was Sie zu erreichen versuchen, können Sie legen ein Beispiel für die gewünschte Ausgabe aus kurzen input ?
1:which(cmix > 8736) <- Das ist schon seltsam, da wird wieder ein Vektor und 1:c(1,2,3), werden nur 1:1 ...sorry, aber ich bekomme nicht das Ziel alle diese und ich bin mir ziemlich sicher, dass Sie Ihre Fehler kommen aus einer XY-problem. Deinen code zeigen, ein Versuch, ein problem zu lösen, aber das problem selbst ist unklar.
Sicher, es ist ein besserer Ansatz für die Generierung von stündlichen Daten aus dem generator mit der obigen Gleichungen. Nur haben wollen 8736 Stundenwerte auf die generation, so dass ich weiß, dass der generator in Betrieb ist für 4555 Stunden dann nicht in Betrieb für 160 Stunden dann wieder in Betrieb und so weiter..
Kann es einen besseren Weg, dies zu tun, aber mit Adela die Antwort, die Sie beheben können Sie das Skript so, dass es funktioniert. Wenn Sie möchten, dass jemand den Blick auf Ihren code ausführlich (um zu sehen, ob Sie es schreiben können effizienter), versuchen, unsere Schwester-website Code Überprüfen.

InformationsquelleAutor kelamahim | 2016-02-18

Schreibe einen Kommentar