如何在R中创建客户数据结构

时间:2019-06-16 06:25:51

标签: r dataframe output symbols

我是R的新手,我不知道模拟与C ++相同效果的正确方法或概念是什么。我正在尝试在R中实现以下C ++概念:

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))

可能是我的方向完全错误,可能是我应该使用数据帧来做同样的事情。任何帮助或建议都是好的。

0 个答案:

没有答案