Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL和R中选择随机数据_R_Random_Microsoft R - Fatal编程技术网

在SQL和R中选择随机数据

在SQL和R中选择随机数据,r,random,microsoft-r,R,Random,Microsoft R,我有以下SQL Server代码:ABS(校验和(newid())%14 这将生成0到13之间的均匀分布随机数 更具体地说,我的SQL表中有一列包含这些随机数。在R中进行一些分析后,我现在已使用Microsoft-R/XDF文件将此SQL表导入R。我想基于此列在此数据的80%-20%上创建一个测试和培训集。您知道我将如何做吗 谢谢。更新: 由于它是一个.XDF文件,我将使用rxSplitXdf函数。 下面是一篇深入讨论它的文章,并展示了一些示例: 比如: rxSplitXdf(inFile,

我有以下SQL Server代码:
ABS(校验和(newid())%14

这将生成0到13之间的均匀分布随机数

更具体地说,我的SQL表中有一列包含这些随机数。在R中进行一些分析后,我现在已使用Microsoft-R/XDF文件将此SQL表导入R。我想基于此列在此数据的80%-20%上创建一个测试和培训集。您知道我将如何做吗

谢谢。

更新: 由于它是一个.XDF文件,我将使用
rxSplitXdf
函数。 下面是一篇深入讨论它的文章,并展示了一些示例:

比如:

rxSplitXdf(inFile, outFileSuffixes = c("train","test"),  
         numOutFiles = 2, splitBy = "rows", 
         rowSelection = (random number >=7))

您可以使用两个
rxDataStep
s手动执行此操作:

train <- rxDataStep(infile, "train.xdf", rowSelection=random_number < 11)
test <- rxDataStep(infile, "test.xdf", rowSelection=random_number >= 11)
上述代码将成为

train <- filter(infile, random_number < 11, .outFile="train.xdf")
test <- filter(infile, random_number >= 11, .outFile="test.xdf")

您好。对不起,我编辑了我的问题以反映这一点。对不起,我应该提到这个数据集是巨大的,它不是作为数据帧存储的,而是一个XDF文件。因此,它只能被这个随机数分割。啊。好的,这非常有帮助,谢谢!但是,我只是把random_number>=7参数放在那里,但我不确定这样做是否可行按要求进行80-20拆分。是否仍要完成80-20拆分?这并不像您认为的那样有效。
rowSelection
arg在分区之前过滤数据集中的所有行,因此输出文件中的行总数将是输入的一半。
train <- filter(infile, random_number < 11, .outFile="train.xdf")
test <- filter(infile, random_number >= 11, .outFile="test.xdf")
rxDataStep(infile, infile,
    transforms=list(splitVar=factor(random_number < 11, levels=c("train", "test")))
lst <- rxSplit(infile, splitByFactor="splitVar")