Как создать структуру данных клиента в R - PullRequest
0 голосов
/ 16 июня 2019

Я новичок в R, я не знаю, какой правильный способ или концепция имитировать тот же эффект, что и в C ++.Я пытаюсь реализовать следующую концепцию C ++ в R:

struct FooStruct
{
    std::string Symbol;
    int WindowSize;
};

std::vector<FooStruct> Foo()
{
    std::vector<FooStruct> result;
    for (int i = 0; i < 2; i++)
    {
        if (IsConditionOkay())
        {
            FooStruct tempFoo;
            tempFoo.Symbol = "HSI";
            tempFoo.WindowSize = 100;
            result.push_back(tempFoo);
        }
    }
    return result;
}

Я пытался сделать это в R:

Foo <- function() {
    createFooStruct < function() {
        me <- list(
            Symbol = "?",
            WindowSize = 0
        )

        class(me) <- append(class(me), "FooStruct")
        return(me)
    }

    result <- list()
    for (i in 1:2) {
        if (IsConditionOkay()) {
            tempFoo = createFooStruct()
            tempFoo$Symbol = "HSI"
            tempFoo$WindowSize = 100
            result = append(result, tempFoo)
        }
    }
    return(result)
}

Проблема в том, что когда я делаю dput(result),Я получаю list(Symbol = "HSI", WindowSize = 100, Symbol = "HSI", WindowSize = 100)

То, что я ожидаю, это list(list(Symbol = "HSI", WindowSize = 100), list(Symbol = "HSI", WindowSize = 100))

Может быть, я нахожусь в совершенно неверном направлении, возможно, мне следует использовать фрейм данных, чтобы сделать то же самое.Любая помощь или совет хорош.

...