要执行某些测试(回归和分类),我需要创建具有非正态分布的合成数据集。 我希望有一个函数从给定的数据帧中获取一些参数,并转换原始数据帧以生成新的NON NORMAL数据帧。 这是我迄今为止尝试过的代码,但它似乎无法正常工作,我不知道我在哪里错过了。
data (rock)
gendf2 <- function(df, vi,vf,var.names=NULL){
if (ncol < 2) stop("ncol must be greater than 1")
nc <- ncol(df)
nr <- nrow (df)
valin <- c(sample(0:vi, nc, replace=TRUE))
valfin <- c(sample(vi:vf, nc, replace=FALSE))
for (i in 1:length(valin)){
for (j in 1:length(valfin)){
DF <- as.data.frame(cbind(replicate(n = nc, runif(n=nr, min = valin[i], max = valfin[j]))))
if (!is.null(var.names)) colnames(DF) <- var.names
return(DF)
}
}
}
我想要的是一个生成非正常数据帧的函数。我已经看到有Marron-Wand发行版的包(nor1mix),但这些例子并没有帮助我,我只是变得更加困惑。请用任何最小的例子或指南来获得这样的功能。