Как я могу вызвать код R от Anaconda Spyder (python)?

== сравнивает ссылки на объекты в Java и не является исключением для объектов String.

Для сравнения фактического содержимого объектов (в том числе String) необходимо использовать equals.

Если сравнение двух объектов String с использованием == оказывается true, это связано с тем, что объекты String были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String. Не следует ожидать сравнения одного объекта String, содержащего то же содержимое, что и другой объект String, используя == для оценки как true.

1
задан Fozoro 10 March 2019 в 21:45
поделиться

1 ответ

После нескольких других опций подпроцесс, казалось, работал достаточно хорошо. Вы можете запустить R-скрипт из Python через подпроцесс и предоставить значение функции в качестве аргумента (x):

def R_script_runner(x):
    import subprocess
    output=subprocess.run(
            ["your_path_to_R_source_folder/Rscript.exe",  "your_path_to_R_script/R_script.R", x], 
                                  shell=True, stdin=subprocess.PIPE,
                                  stdout=subprocess.PIPE,
                                  stderr=subprocess.PIPE).stderr 
    return output  

R-скрипт сделает то, что должен. Вывод возвращается функцией в основном для отладки, так что вы можете распечатать ее или оценить иначе.

0
ответ дан Oka 10 March 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: