感谢你对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] ...
},
我已经在这个问题上工作了几天,在看到如何调整我的平均格式并插入现有表后,我将能够计算出均值/最小值/最大值/中值/模式很容易。