2016-03-03 9 views
0

Я пробовал много вариантов, в том числе и мы можем найти на сайте Revoслучайный выбор на XDF

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) 

когда nr является info$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

спасибо за помощь !

+0

Что такое 'info $ numRows'? –

+0

'info <- rxGetInfo (" two_vars.xdf ")' –

ответ

1

Попробуйте это:

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 в среду преобразования, чтобы использовать их.
+0

это отлично работает! Для моего понимания '.rxNumRos' возвращает количество строк в фактическом куске? –

+0

Это правильно. Он подробно описан в файле справки '? RxTransform'. –