是否有R函数来生成采样中的频率计数?

是否有R函数来生成采样中的频率计数?,r,sample,tabulate,R,Sample,Tabulate,以下是我将抽样结果制成表格的步骤: > n <- 1000 > tabulate(sample.int(4, n, replace = TRUE)) [1] 238 255 247 260 >n制表(sample.int(4,n,replace=TRUE)) [1] 238 255 247 260 我需要使用不同的n值来执行此操作数百万次。我不在乎取样的实际顺序。我所需要的只是每个箱子的数量 是否有直接执行此操作的内置函数?以上面所示的方式进行操作感觉效率低下。我不确定您是

以下是我将抽样结果制成表格的步骤:

> n <- 1000
> tabulate(sample.int(4, n, replace = TRUE))
[1] 238 255 247 260
>n制表(sample.int(4,n,replace=TRUE))
[1] 238 255 247 260
我需要使用不同的
n
值来执行此操作数百万次。我不在乎取样的实际顺序。我所需要的只是每个箱子的数量


是否有直接执行此操作的内置函数?以上面所示的方式进行操作感觉效率低下。

我不确定您是否正在寻找数据帧
df

iter <- 20
n <- 1000
df <- as.data.frame(t(replicate(iter,table(sample.int(4, n, replace = TRUE)))))

你的意思是
sapply(seq(1000),function(i)sample.int(4,i,replace=TRUE))
我不这么认为。另一种方法是使用
表格
表格(示例(4,n,replace=TRUE))
@RonakShah您的意思是
表格(示例(n,4,replace=TRUE))
。谢谢。我编辑了这个问题。我只是好奇是否有一个概率/统计函数可以直接做到这一点。请帮助改进这个问题,而不是简单地降级。我所做的是工作,我要问的是,是否有内置函数可以直接完成这项工作。
> df
     1   2   3   4
1  226 257 250 267
2  257 239 245 259
3  236 266 233 265
4  219 253 257 271
5  251 261 228 260
6  243 252 262 243
7  253 257 267 223
8  252 223 269 256
9  239 242 256 263
10 253 275 219 253
11 260 242 258 240
12 259 263 246 232
13 259 274 221 246
14 251 261 258 230
15 256 268 249 227
16 241 244 251 264
17 253 233 258 256
18 235 253 257 255
19 232 260 277 231
20 243 252 240 265