Ich versuche, ein Programm in R zu schreiben, um n Zufallszahl zu summieren. Wenn ich es jedoch für einige Zahlen versuche, wird es nicht funktionieren. Zum BeispielSumme der Zufallszahlen in R
## rm(list=ls())
random.sum <- function(n) {
x[1:n] <- ceiling(10*runif(n))
cat("x:", x[1:n], "\n")
return(sum(x))
}
x <- rep(100, 10)
show(random.sum(10))
show(random.sum(5))
wenn ich versuche, 10 Zufallszahlen zu summieren es gibt mir die richtige Summe, die
istshow(random.sum(10))
x: 1 3 10 1 3 2 8 6 7 9
[1] 50
Allerdings, wenn ich es für den nächsten Versuch, die 5 ist, es arbeiten, werden nicht
show(random.sum(5))
x: 7 5 6 2 9
[1] 529
ich bin nicht sicher, was ich falsch
Sie definieren 'x' außerhalb der Funktion, um 10 Elemente zu haben, die alle auf 100 gesetzt sind. Dann aktualisieren Sie innerhalb der Funktion' n' Elemente davon. Wenn Sie also n = 5 setzen, werden nur die ersten 5 Elemente aktualisiert. Die restlichen 5 sind immer noch auf '100' gesetzt. – SymbolixAU
Neugierig, warum wir das machen wollen? – zx8754