我使用RStudio中的setseed()函数重新生成相同的随机输出。具体而言,聚类搜索功能“k-means clustering”。在RStudio和R语言控制台中它可以工作。 但是,当我在SSMS中向外部脚本输入相同的命令时,我总是生成不同的数字(特别是代码工作成功,但每次运行都以不同的结果结束,我不想要的。)
T-SQL外部脚本是:
EXEC sp_execute_external_script @language =N'R', @script=N'
library("plyr")
library("FactoMineR")
library("factoextra")
library("corrplot")
library("dplyr")
library("cluster")
library("ggplot2")
library("magrittr")
str(InputDataSet)
costs <- as.data.frame(InputDataSet)
costs.active <- costs[,c(3, 5, 6, 7)]
set.seed(123)
km.res <- kmeans(costs.active, 10, nstart = 25)
dd <- cbind(costs
, cluster = km.res$cluster)
d <- ddply(dd, .(cluster), nrow)
OutputDataSet <- as.data.frame(d);' @input_data_1 = '...'
以下是经典的SQL源代码。
EDIT 现在我发现,例如,rnorm()函数工作正常。是否有可能与kmeans函数有关?
有人可以帮助我吗?