R 如何在QuickCheck中生成具有特定属性的数据帧

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

我想使用生成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   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))