2016-04-04 9 views
-1

に特定のプロパティを持つデータフレームを生成するにはどうすればよい私はQuickCheck R libraryを使用してdata.frameを生成したいと思います。 data.frameには、ある種の型を持たない無作為な名前の列がいくつかある必要があります。 rdata.frameを実行すると、目標ではないcol.1, col.2, ...のような列名を持つ完全にランダムなdata.frameが得られます。あなたはQuickCheck

は例えばデータフレームは以下の整数型と因子を持つ2つの列(xとy)を有します。

> 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)を生成

> 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である一定の値にマージしていますか? (例えば、無作為に生成されたデータに加えて、すべて0の値を有する列uを有する)。

+1

あなたの質問はかなり不可解です。あなたが実際に何を求めているのか分かりません。 – Roland

+0

quickcheckは、特定のタイプのランダムな内容を持つ非ランダムな名前の列(たとえば、数値/因子など)を持つdata.frameを生成します。私はそれをよりよく策定できるかどうかを見ていきます。 – JoelKuiper

+0

私が提案したいことは、「行の数は重要ではない」ということを説明することです。あなたはそれをランダム化しますか? – piccolbo

答えて

1
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)) 
関連する問題