Arrays 随机数之和?
我试图编写一个R函数,它将生成n个(传递给函数)随机数,并返回这些数的和,然后显示随机数集 我不熟悉R,并假设这里将使用数组,但不确定。 而且,我的尝试只允许10个数字,但如果我尝试10以外的任何数字,它给出了错误的总和 我不知道我做错了什么,但这就是我目前所得到的Arrays 随机数之和?,arrays,r,math,Arrays,R,Math,我试图编写一个R函数,它将生成n个(传递给函数)随机数,并返回这些数的和,然后显示随机数集 我不熟悉R,并假设这里将使用数组,但不确定。 而且,我的尝试只允许10个数字,但如果我尝试10以外的任何数字,它给出了错误的总和 我不知道我做错了什么,但这就是我目前所得到的 random.sum <- function(n) { x[1:n] <- ceiling(10*runif(n)) cat("x:", x[1:n], "\n") return(sum(x)) } x <
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))
random.sum你几乎是对的
您不需要将x
赋值给函数外部的任何对象,在函数内部,您不需要将x
子集,您只需使用n
随机数赋值即可。那就行了
random.sum <- function(n) {
x <- ceiling(10*runif(n))
cat("x:", x, "\n")
return(sum(x))
}
random.sum(13)
x: 4 6 10 4 6 10 8 2 5 10 4 4 6
[1] 79
您将x
的前4个值指定为随机数,但其余值仍然为100。所以你的和实际上是(100*6)+4个随机数
如果在原始函数中加入一些print
语句,就可以看到这种情况
random.sum <- function(n) {
print(x)
x[1:n] <- ceiling(10*runif(n))
print(x)
cat("x:", x[1:n], "\n")
print(x)
return(sum(x))
}
x <- rep(100, 10)
random.sum(4)
# [1] 100 100 100 100 100 100 100 100 100 100
# [1] 5 2 1 3 100 100 100 100 100 100
# x: 5 2 1 3
# [1] 5 2 1 3 100 100 100 100 100 100
# [1] 611
random.sum像这样的东西怎么样:
random.sum <- function(n) {
# Store n random integers between 0 and 100 in vector called random_nums
random_nums <- floor(runif(n, min=0, max=100))
# Show the random numbers
print(random_nums)
# Return the sum of the random numbers
return(sum(random_nums))
}
print(paste("Sum:", random.sum(5), sep=" "))
我会用一个列表-s不要改变你的问题。如果提供的答案中有一个回答了您的问题,您应该接受它(按投票箭头旁边的灰色勾号)。然后,如果你有一个新问题,你应该问一个新问题。
random.sum <- function(n) {
# Store n random integers between 0 and 100 in vector called random_nums
random_nums <- floor(runif(n, min=0, max=100))
# Show the random numbers
print(random_nums)
# Return the sum of the random numbers
return(sum(random_nums))
}
print(paste("Sum:", random.sum(5), sep=" "))
[1] 57 3 64 18 46
[1] "Sum: 188"