为模拟生成非正常数据

时间:2016-10-19 10:49:35

标签: r classification regression

要执行某些测试(回归和分类),我需要创建具有非正态分布的合成数据集。 我希望有一个函数从给定的数据帧中获取一些参数,并转换原始数据帧以生成新的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),但这些例子并没有帮助我,我只是变得更加困惑。请用任何最小的例子或指南来获得这样的功能。

0 个答案:

没有答案