1

这两个代码片段是否等效,即它们是否在做同样的事情?

据我所知,sample他们应该做同样的事情,即s1两者s2都是x.

第一个片段:

sz <- 5
x <- 1:10
s1 <- sample(x,size=sz,replace=F)

第二个片段:

sz <- 5
x <- 1:10
s2 <- c()
idx <- sample(1:length(x),size=sz,replace=F)
for ( i in idx ) {
    s2 <- c(s2,x[i])
}
4

1 回答 1

5

是的。

> sz <- 5
> x <- 1:10
> set.seed(21); s1 <- sample(x,size=sz,replace=F)
> sz <- 5
> x <- 1:10
> s2 <- c()
> set.seed(21); idx <- sample(1:length(x),size=sz,replace=F)
> for ( i in idx ) {
+     s2 <- c(s2,x[i])
+ }
> identical(s1,s2)
[1] TRUE
于 2012-10-16T16:29:23.630 回答