R 这个函数在做什么?复制

R 这个函数在做什么?复制,r,replication,R,Replication,嘿,有人能帮我吗?这个函数在做什么?第一行是否设置函数的变量?那么这个复制品在做什么?谢谢 此公式复制您的数据。假设我们有一个包含10个观测值的数据集。为了得到当前数据集的其他类似数据集,您可以通过引入数据集的随机抽样来复制它 你可以在上查看维基百科页面 如果你更好奇的话 让我们看一个简单的数据帧: rep_sample_n <- function(tbl, size, replace = FALSE, reps = 1) { rep_tbl = replicate(reps, tbl[s

嘿,有人能帮我吗?这个函数在做什么?第一行是否设置函数的变量?那么这个复制品在做什么?谢谢

此公式复制您的数据。假设我们有一个包含10个观测值的数据集。为了得到当前数据集的其他类似数据集,您可以通过引入数据集的随机抽样来复制它

你可以在上查看维基百科页面 如果你更好奇的话

让我们看一个简单的数据帧:

rep_sample_n <- function(tbl, size, replace = FALSE, reps = 1)
{
rep_tbl = replicate(reps, tbl[sample(1:nrow(tbl), size, replace = replace), 
], simplify = FALSE) %>%
bind_rows() %>%
mutate(replicate = rep(1:reps, each = size)) %>%
select(replicate, everything()) %>%
group_by(replicate)
return(rep_tbl)
}
现在,如果我们想从10个观测数据集中随机抽取15个观测值,它将抛出一个错误。当前,replace=FALSE参数不允许这样做,因为每次选择样本行时,都会将其从池中删除,以便进行下一个样本采集。在上面的例子中,它选择了第一个观测值,然后选择了第二个观测值,因为我们要求4个,它只剩下2到10个,它选择了第三个,然后是第四个,然后是第十个,等等。如果我们允许replace=TRUE,它每次都会从完整的数据集中选择一个观测值

请注意,在本例中,第五个观察值是如何选择两次的。如果replace=FALSE,则不会发生这种情况


我希望这提供了一些清晰性

此函数将一个数据帧作为输入和多个输入首选项。它从表中随机抽取大小行的样本,根据replace输入设置是否替换。它重复随机抽样的次数

然后,它将所有样本绑定到一个数据帧中,添加一个名为replicate的新列,指示每行产生的采样重复

最后,它对结果表进行分组,为将来使用dplyr进行分组操作做好准备

有关特定函数的一般性问题,如此复制正在做什么?请查看函数的帮助页面:键入?复制或帮助复制以达到目的。它包括对函数的描述以及如何使用它的示例。如果您阅读了描述,运行了示例,但仍然感到困惑,请随时返回一个具体的问题和示例,说明您所困惑的内容


类似地,对于第一行设置函数的变量?,函数的参数是函数的输入。如果您对R有一些基本问题,如函数如何工作,请查看。

@Xbeanbi-通过删除图像并发布代码本身,对您在此处与我们合作表示赞赏。是的,StackOverflow社区可以提供帮助。请完成并在阅读文档后使用参考资料更新您的文章,如果您仍然无法回答您的问题,那么这非常适合在StackOverflow上发表文章。此外,真正干净的帖子通常会得到社区更强烈的响应,例如,良好的语法,正确的格式,包括代码块中适当的缩进和间距。欢迎
df <- data.frame(x = 1:10, y = 1:10)

df
    x  y
1   1  1
2   2  2
3   3  3
4   4  4
5   5  5
6   6  6
7   7  7
8   8  8
9   9  9
10 10 10
rep_sample_n(df, 4)
# A tibble: 4 x 3
# Groups:   replicate [1]
  replicate     x     y
      <int> <int> <int>
1         1     1     1
2         1     3     3
3         1     4     4
4         1    10    10
rep_sample_n(df, 4, replace = TRUE)
# A tibble: 4 x 3
# Groups:   replicate [1]
  replicate     x     y
      <int> <int> <int>
1         1     5     5
2         1     3     3
3         1     2     2
4         1     5     5 
rep_sample_n(df, 4, reps = 5)
# A tibble: 20 x 3
# Groups:   replicate [5]
   replicate     x     y
       <int> <int> <int>
 1         1     8     8
 2         1     4     4
 3         1     3     3
 4         1     1     1
 5         2     4     4
 6         2     5     5
 7         2     8     8
 8         2     3     3
 9         3     6     6
10         3     1     1
11         3     3     3
12         3     2     2
13         4     5     5
14         4     7     7
15         4    10    10
16         4     3     3
17         5     7     7
18         5    10    10
19         5     3     3
20         5     9     9