在 R 中的复制函数中使用大括号
use of curly brackets within replicate function in R
B <- 10000
results <- replicate(B, {
hand <- sample(hands1, 2)
(hand[1] %in% aces & hand[2] %in% facecard) | (hand[2] %in% aces & hand[1] %in% facecard)
})
mean(results)
这段代码可以完美运行并完成所需的 thi
这是一个 monte carlo 模拟。我不明白他们在复制函数中放置大括号 {} 的方式。我可以理解该代码的功能,但我无法理解他们放置代码的方式。
原因是我们有多个表达式
hand <- sample(hands1, 2)
是第一个表达式,第二个是
(hand[1] %in% aces & hand[2] %in% facecard) | (hand[2] %in% aces & hand[1] %in% facecard)
即如果只有一个表达式,我们不需要用 {}
阻塞
这是一般情况,与 replicate
无关,即如果我们使用带有单个表达式的 for
循环,则不需要任何 {}
for(i in 1:5)
print(i)
类似地,if/else
n <- 5
if(n == 5)
print(n)
只有当我们需要多个表达式时才需要它
B <- 10000
results <- replicate(B, {
hand <- sample(hands1, 2)
(hand[1] %in% aces & hand[2] %in% facecard) | (hand[2] %in% aces & hand[1] %in% facecard)
})
mean(results)
这段代码可以完美运行并完成所需的 thi
这是一个 monte carlo 模拟。我不明白他们在复制函数中放置大括号 {} 的方式。我可以理解该代码的功能,但我无法理解他们放置代码的方式。
原因是我们有多个表达式
hand <- sample(hands1, 2)
是第一个表达式,第二个是
(hand[1] %in% aces & hand[2] %in% facecard) | (hand[2] %in% aces & hand[1] %in% facecard)
即如果只有一个表达式,我们不需要用 {}
这是一般情况,与 replicate
无关,即如果我们使用带有单个表达式的 for
循环,则不需要任何 {}
for(i in 1:5)
print(i)
类似地,if/else
n <- 5
if(n == 5)
print(n)
只有当我们需要多个表达式时才需要它