Как бы я преобразовал символьный вектор в сообщение? C# R.NET - PullRequest
1 голос
/ 02 апреля 2020

Вот мой текущий код:

private string result;
        private string result1;

        public async Task calCasync(string ar)
        {
            REngine engine;
            REngine.SetEnvironmentVariables();
            engine = REngine.GetInstance();
            engine.Initialize();
            CharacterVector vector = engine.Evaluate(ar).AsCharacter();
            result = vector[0];

            ReplyAsync("> " + result);
            try
            {
                result1 = String.Join(" ", vector.Cast<int>());
                ReplyAsync("> ");
                ReplyAsync("ad> " + result1);
            }
            catch(Exception e)
            {
                Console.WriteLine(e);
            }
        }`

Я пытался изменить некоторые его части, чтобы он работал, но он отвечает только «результатом», а не «результатом1». В этом я хотел бы преобразовать матрицу или вектор в строку, которую я могу использовать для дальнейших действий.

result = vector[1]; 

или выше дает ошибку, говорящую, что это слишком высоко. Каждый раз при выполнении result1 = String.Join(" ", vector.Cast<int>()); выдает ошибку. Я не нашел никакой информации в Интернете по этому топи c. Если это поможет, я использую Visual Studio 2017.

Спасибо -Ян

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Я решил это, используя

CharacterVector vector1 = engine.Evaluate(ar).AsCharacter();
    string[] resp1 = engine.Evaluate(ar).AsCharacter().ToArray();

и затем

result1 = ConvertStringArrayToString(resp1);
0 голосов
/ 02 апреля 2020

Вот мой код.

Откройте редактор R и введите следующий код:

characters <- c("H","E","L","L","O")
stringdata <- paste(characters,collapse="")

Введите символы в окне консоли R Затем

Вывод: "H "" E "" L "" L "" O "

Введите строковые данные в консольном окне R Затем

Вывод:" HELLO "

для функции вставки в R см. ниже документация

https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/paste

...