Ich habe eine CSV-Liste mit Kostenschätzungen, wobei jede Zeile für jede Einzelpostenschätzung eine niedrigere (l), mittlere (c) und obere (u) Bereichsschätzung enthält welches in Excel von Nicht-R-Benutzern erstellt wird. Ein Beispiel für die CSV-Daten, die ich in R gelesen haben, ist wie folgt:Monte-Carlo-Simulation (Dreiecksverteilung) über Zeilen von CSV-Kostendaten
Item l c u
<chr> <int> <int> <int>
1 “CostItem1” 1500 1900 2600
2 “CostItem2” 2400 3200 4400
3 “CostItem3” 500 1000 1500
Jede Zeile wird dann in einer Dreiecksverteilungsfunktion (Bibliothek (Dreieck)) wie folgt über eine Anzahl von Iterationen (läuft = 10000 verwendet in diesem Fall):
CostItem1 <- rtriangle(runs, l, u, c)
zur Zeit eingeben I manuell die Bereichsschätzungsdaten für jede Kostenposition (CostItem1, CostItem2 usw.) in der rtriangle Funktion.
Meine Frage ist:
Wie kann ich eine Loop-Funktion oder einem anderen Ansatz schaffen dies aus der CSV-Datei direkt zu tun, wenn es in R gelesen wird? Als Neuling habe ich keine Ahnung, wie ich das angehen soll und die ganze Google-Suche hat nichts ergeben.
Die Datenkostenblock wird dann in einem neuen Datenrahmen (TotalCostEstimate) verschmolzen, die 10000-Simulationen und jeder die modellierten Gesamtkostendaten (Totalcost) summiert Zeile enthält bieten:
kannTotalCostEstimate<-data.frame(CostItem1 ,CostItem2 ,TotalCost=rowSums(x))
Von hier aus werden die Daten sein grafisch dargestellt und zur Analyse und Entscheidungsfindung präsentiert. Für eine kleine Anzahl von Kostenelementen ist die manuelle Eingabe nicht zu schlecht, aber manchmal habe ich Zeilen> 50 und ich möchte das nicht 50 mal machen !!
Vielen Dank, dass Sie sich die Zeit genommen haben.
Maarten, danke das klappt wirklich gut. Wie Sie sagen, muss ich die Spaltennamen anpassen. Ich denke, dass ich sie auf eine Reihe Zählung der CSV-Daten basieren werde, um zu erlauben, dass mehrere Einzelteile hinzugefügt werden und dann eine 'n' Reihenanordnung für einfache Benennung verursachen. – Nick
@nick_dawe Gern geschehen. Der Spaltenname klingt nach einer guten Idee, wenn Sie den Code später in einer angehängten CSV-Datei verwenden möchten. Nicht sicher, was Sie mit einer 'n' Reihenanordnung meinen –