如何解决在 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)
这段代码完美运行,并完成了所需的事情
这是蒙特卡罗模拟。我不明白他们在复制函数中放置大括号 {} 的方式。我可以理解该代码的功能,但我无法理解他们放置代码的方式。
解决方法
原因是我们有多个表达式
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)
只有当我们需要多个表达式时才需要
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。