R 如何在QuickCheck中生成具有特定属性的数据帧
我想使用生成data.frame。data.frame必须具有某些非随机命名列,这些列必须具有特定类型。当您运行R 如何在QuickCheck中生成具有特定属性的数据帧,r,dataframe,quickcheck,R,Dataframe,Quickcheck,我想使用生成data.frame。data.frame必须具有某些非随机命名列,这些列必须具有特定类型。当您运行rdata.frame时,您会得到一个完全随机的data.frame,其列名为col.1、col.2、,这不是目标 例如,下面的数据框有两列(x和y),类型为integer和factor > data.frame(x=1:10, y=rep(F, 10)) x y 1 1 FALSE 2 2 FALSE 3 3 FALSE 4 4 FALSE 5
rdata.frame
时,您会得到一个完全随机的data.frame,其列名为col.1、col.2、
,这不是目标
例如,下面的数据框有两列(x和y),类型为integer和factor
> data.frame(x=1:10, y=rep(F, 10))
x y
1 1 FALSE
2 2 FALSE
3 3 FALSE
4 4 FALSE
5 5 FALSE
6 6 FALSE
7 7 FALSE
8 8 FALSE
9 9 FALSE
10 10 FALSE
我可以做类似的事情
> data.frame(x=rinteger(size=~10), y=rlogical(size=~10), z=rdouble(size=~10))
x y z
1 -94 FALSE 7.124120
2 -64 FALSE -47.855625
3 -87 FALSE -9.622184
4 -9 FALSE -28.678583
5 -78 TRUE 35.932244
6 -96 TRUE 116.449312
7 -63 TRUE 51.389978
8 65 TRUE -65.566058
9 71 FALSE 248.323594
10 -76 TRUE 138.238654
它生成预期格式(具有正确列名的data.frame和特定类型的随机数据)。
但在我看来,一定有更好的方法,因为行数在这里并不重要
有一个data.frame作为函数的输入,它遵循某些属性,这是很常见的,不幸的是,文档在这一部分中确实很神秘
奖励:如何将某些常量值与此data.frame合并?(例如,除了随机生成的数据外,还有一列u,其值均为0) 你的问题很神秘。我不明白你到底在问什么。我希望quickcheck生成一个data.frame,其中包含一些非随机命名的列,其中包含特定类型的随机内容(例如数字/因子等)。我会看看我是否能更好地表述它。我想建议的一件事是解释你所说的“行数不重要”是什么意思。你想把它随机化吗?
library(quickcheck)
library(functional)
nr = rsize() # random number of rows
generators.nr =
lapply(
list(ri = rinteger, rd = rdouble, rl = rlogical), #all the ones you need
Curry,
size = ~nr)
with(
generators.nr,
data.frame(x = ri(), y = rd(), z = rl(), w = 1))