我模拟了 1000 个随机数:
a <-sample(0:1, 1000, rep = TRUE)
我想要的是一个十列的数据框,其中每列的值都像 a 一样生成。
例如:
id Column 1 Column2 .........Column 10
1 1 1
2 0 1
3 1
0
0
.
.
1000 1 1
您正在寻找replicate
:
data.frame(replicate(10,sample(0:1,1000,rep=TRUE)))
这些是前几行:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 1 1 0 1 0 0 1 1 1 0
2 0 0 0 1 0 1 0 0 1 0
3 0 1 1 1 1 0 1 1 1 1
4 0 0 0 1 1 1 1 1 1 0
5 1 0 1 0 1 1 0 1 1 0
6 0 1 1 1 1 1 0 1 1 1
如果你执行相同的命令而不将其包装在 data.frame()
中,你将有一个矩阵。矩阵的使用速度更快,因此您可能需要调查它们是否适合您的问题。
为什么不一次生成所有数字并使用矩阵来制作列。 此外,您可以使用rbinom
快速生成以下类型的数字:
matrix(rbinom(10*1000, 1, .5), ncol=10)
PS 我不完全按照你要求的 b/c 做你说你是 R 的新手。 我想你可能不知道这种生成数字的方式。