我正在使用rscala包在Scala中编写R.当我想将结果拉回Scala时似乎存在问题。 这是我正在尝试的代码 -
import org.ddahl.rscala._
import breeze.stats.distributions._
import breeze.linalg._
val R = RClient()
R.eval("library('diptest')")
R.eval("library('plyr')")
R.eval("comp1_test_result <- read.csv('C:/Users/vamallya/Downloads/multimodal/cleaned_multimodel_test.csv')")
R.eval("dip_test_op_2 <- ddply(comp1_test_result, .(testName),function(df) {data.frame(p_val = dip.test(df$measured)$p.value)})")
R.eval("bimodal_results <- dip_test_op_2[dip_test_op_2$p_val < 0.05,]")
val res = R.evalS1("bimodal_results$testName")
当我尝试获取结果时,它会给出一个名为unsupported datatype的错误。我正在寻找的结果是一个字符串数组。我厌倦了所有不同类型的评估,但似乎都没有。
谢谢。
答案 0 :(得分:0)
好的所以我通过将R列转换为矢量来解决我的问题。
我通过获得res来实现这一目标
val res = R.evalS1("as.vector(bimodal_results$testName)")
这让我得到了所需的数组。