lua中复杂表的平均值/中值/模式

时间:2014-05-09 15:51:40

标签: lua statistics mean lua-table

感谢你对lua的所有支持,我很新,我的应用程序到目前为止工作得很好。

我制作了一个应用程序,它将为不同的项目收集几千个数字。我正在尝试为每个项目找到平均值/媒体/模式,我已经能够为单个项目执行此操作,但不能为所有项目执行此操作。

这是我的表结构:

for i = 0, 1500 do
            local e = {}
            e.seller,
            e.buyer,
            e.itemName,
            e.soldAmount = GetSoldAmount(FromMember(i))
       table.insert(allSalesTempTable, e)
end

表格输出格式

  [1] = 
                {
                    ["itemName"] = [[Salad]]
                    ["buyer"] = [[@Mike]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 150,
                    ["seller"] = [[@Sarah]],
                },
  [2] =
                {
                    ["itemName"] = [Pizza]
                    ["buyer"] = [[@James]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 150,
                    ["seller"] = [[@Sarah]],
                },
  [3] =
                {
                    ["itemName"] = [Salad]
                    ["buyer"] = [[@Frank]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 75,
                    ["seller"] = [[@Sarah]],
                },
  [4] ...

 },

然后我试图将表/数组发送到这个平均函数

stats={}

-- Get the mean value of a table
    function stats.mean( t )
        local sum = 0
        local count= 0
        local tempTbl = {}

(This is completely  not going to work, but its what I'm trying so far) 
    for k,v in pairs(t) do tempTbl[k] = v
        if v.itemName == tempTbl.itemName then
            sum = sum + v.soldAmount
            count = count + 1
        end
    end

    return (sum / count)
end

---启动功能     stats.mean(e)中

这是我变得模糊的地方,不确定我是否可以在将数据收集到第一个临时表中时添加MEAN,或者在我拥有所有数据后是否需要重新计算?  如果需要在之后完成,那么我的stats.mean(e)需要一种方法来插入它吗?

我正在尝试获得此输出:

  [1] = 
                {
                    ["itemName"] = [[Salad]]
                    ["buyer"] = [[@Mike]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 150,
                    ["seller"] = [[@Sarah]],
                    ["mean"] = 112.5   - New  Insert somehow
                },
  [2] =
                {
                    ["itemName"] = [Pizza]
                    ["buyer"] = [[@James]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 150,
                    ["seller"] = [[@Sarah]],
                    ["mean"] = 150   - New  Insert somehow
                },
  [3] =
                {
                    ["itemName"] = [Salad]
                    ["buyer"] = [[@Frank]],
                    ["eventType"] = 15,
                    ["soldAmount"] = 75,
                    ["seller"] = [[@Sarah]],
                    ["mean"] = 112.5   - New  Insert somehow
                },
  [4] ...

 },

我已经在这个问题上工作了几天,在看到如何调整我的平均格式并插入现有表后,我将能够计算出均值/最小值/最大值/中值/模式很容易。

0 个答案:

没有答案