在SQL和R中选择随机数据
我有以下SQL Server代码:在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,
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")