首页 > 解决方案 > 如何找到行中的值?

问题描述

我使用 Retool 工具来构建仪表板。
我从谷歌表格导入我的数据,我希望能够从数据中进行转换统计。

由此

data = {{ query1.data.map(row => row['Subscriber'])}} 

我有以下数据出来:

["NON","NON","NON","NON","OUI","OUI","NON","NON","NON","NON","NON","NON","OUI","NON","NON","NON","NON","OUI","NON","NON","NON","NON"]

我想计算 OUI 的数量和 NON 的数量。

我还想要是和否占总数据的百分比

你能帮助我吗?

标签: javascript

解决方案


您可以通过使用对象减少“NON”和“OUI”术语列表来构建频率图。

const
  data = ["NON", "NON", "NON", "NON", "OUI", "OUI", "NON", "NON", "NON", "NON", "NON", "NON", "OUI", "NON", "NON", "NON", "NON", "OUI", "NON", "NON", "NON", "NON"],
  n = data.length,
  frequency = data.reduce((acc, val) =>
    ({ ...acc, [val]: (acc[val] ?? 0) + 1 }), {});

console.log(`Frequency: ${JSON.stringify(frequency)}`);

Object.entries(frequency).forEach(([ key, value ]) =>
  console.log(`${key} = ${value}/${n} | ${(value/n*100).toFixed(2)}%`));
.as-console-wrapper { top: 0; max-height: 100% !important; }


推荐阅读