我使用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")当我试图获得结果时,它会给出一个名为不支持的数据类型的错误。我正在寻找的结果是一个字符串阵列。我厌倦了所有不同类型的古典文学,但它们似乎都没有用。
谢谢。
发布于 2017-10-10 01:27:10
好的,我通过把R列转换成向量来解决我的问题。
我实现了这一目标
val res = R.evalS1("as.vector(bimodal_results$testName)")这让我得到了所需的数组。
https://stackoverflow.com/questions/46641262
复制相似问题