2017-02-12 9 views
-1
client.eval("result<-subset(data,Sym1=="fever" | Sym1=="headache" |Sym1=='cough')", function(err, response){ 

    }); 

    client.eval("result%>%", function(err, response){ 


    }); 
    client.eval("group_by(Disease)%>%", function(err, response){ 


    }); 
     client.eval("mutate(n=n())%>%", function(err, response){ 


    }); 
     client.eval("filter(n==max(n))%>%", function(err, response){ 


    }); 
     client.eval("select(-n)", function(err, response){ 


    }); 

Ошибка при выполнении этого кода, но работает нормально при кодировании только в R. Ошибка в -n: неверный аргумент для унарного оператора это ошибка, которую я получаю. пожалуйста, помогитеКак сделать dplyr%>% работать в rserve-js и Rserve

ответ

0

Вам нужно связать отдельные команды с обратными вызовами, вызов eval не блокируется для завершения.

c.eval('f <- function (a, b) a+b', function (error, response) { 
    c.eval('f(4, 5)' function (error, response) { 
    console.log(response); 
    }) 
}) 

В качестве альтернативы смотреть на rserve-JS модульных тестов, где он promisified библиотеку и прикованных обещания.

Или вы можете отправить весь свой код за один раз.