连接R和Python

时间:2016-09-27 16:28:39

标签: python r optimization interfacing

我想在Python中编写的函数R中进行优化。我已经知道scipy有优化函数,但我想要一些R中的函数但不是scipy。问题是我在Python脚本中有我的功能,这个功能需要一些其他信息来适应。因此,在Initalization中,python脚本导入一些文件并执行一些操作,这就是为什么我不想每次调用脚本因为这会降低性能。

为此,我尝试调用python脚本,然后使用套接字连接到它。这是我的R脚本(它还没有包括优化):

dataField

在我的python方面:

#Variables to initialize:

p_pos = '"[[0.,0.,True],[1.2378958026, 0,True],[0, 0.7152889725,True]]"'
names = '"[\'bridge\',\'hollow\',\'top\']"'
potential = "a-a"
symmetry = "non"



#Initialize python script

command = "python"
path2script='"Least_squares_potentials.py"'

#data pased to python

string = paste(p_pos, names, potential, symmetry, sep="---")
pattern = "---"

args = c(string, pattern)


# Add path to script as first arg


allArgs = c(path2script, args)

#Initialize

output = system2(command, args=allArgs, stdout=FALSE, wait=FALSE)

Sys.sleep(5)


client <- function(param){
   while(TRUE){
    con <- socketConnection(host="localhost", port = 6011, blocking=TRUE,
                        server=FALSE, open="r+")
    response <- param  
    writeLines(response, con)
    data <- readLines(con, 1)
    print(data)
    close(con)
  }
}


#guess = "[3.589,3.995,1.418,1.809]"
guess = "[3.733,2.413,8]"

client(guess)
client("q")

这样做我得不到任何东西......好吧我得到了“\xadȊ\ xf3 = \ xd0Y @”而我不知道这是什么,等待了一段时间后。所以有人可以帮我解决这个问题吗?也许有另一种方法可以做到这一点,我不知道。任何帮助都将非常感激。

0 个答案:

没有答案