XDF 上的随机选择

random selection on XDF

我尝试了很多替代方案,包括我们可以在 Revo 网站上找到的替代方案

xform <- function(data) { 
    data$.rxRowSelection <- as.logical(rbinom(nr, 1 , 0.5))
    return(data)
}
rxDataStep(inData = "two_vars.xdf", outFile = "testSample",
           transformFunc = xform , overwrite = TRUE)

nrinfo$numRows 来自 rxGetInfo("two_vars.xdf")

rxDataStep(inData = "two_vars.xdf", outFile = "testSample",
           rowSelection = as.logical(rbinom(nr, 1, 0.5)), overwrite = TRUE)

ERROR: The sample data set for the analysis has no variables. Error in doTryCatch(return(expr), name, parentenv, handler) : std::exception

感谢您的帮助!

试试这个:

xform <- function(data) { 
    data$.rxRowSelection <- as.logical(rbinom(.rxNumRows, 1 , 0.5))
    return(data)
}
rxDataStep(inData = "two_vars.xdf", outFile = "testSample",
           transformFunc = xform , overwrite = TRUE)

或等效地:

rxDataStep(inData = "two_vars.xdf", outFile = "testSample",
           rowSelection = as.logical(rbinom(.rxNumRows, 1 , 0.5)), 
           overwrite = TRUE)

我认为您的操作存在两个问题。

  1. 您正在传递总行数,您需要该特定块中的行数。 (不是你当前错误的原因)
  2. 您需要通过 transformObjects 将对象传递到转换环境中才能使用它们。