gpt4 book ai didi

javascript - javascript d3 和 dc 的概率密度函数

转载 作者:行者123 更新时间:2023-11-29 21:58:59 26 4
gpt4 key购买 nike

我正在尝试使用 Javascript(d3 和 dc 库)(类似于 R 的密度函数)创建数据集的概率密度函数,但我还没有找到该怎么做。

可以吗?

谢谢

PD:jqplot 是这样的:http://services.mbi.ucla.edu/jqplot/examples/kcp_pdf.html

最佳答案

最后,我必须能够使用 KDE 算法(在 science.js 库中实现)

库 dc 如何需要调整数据。当数据在具有所有外观及其频率的对象中减少时,必须将该对象转换为一个数组,其中每个外观都有一个条目。需要这些组,因为 dc 需要一个组来绘画。

我的解决方案是:

// Creating the group
var group = dimension.group().reduceSum();
......
// Process the object.
groups = group.all()
var newValues = []
for (var i = 0; i < groups.length; i++) {
for (var j = 0; j < groups[i].value;j++){
if (groups[i].key == "null" ||
groups[i].key == null ||
(groups[i].key - start < 0) ||
(groups[i].key - end > 0)) {
} else {
newValues.push(parseFloat(groups[i].key))
}
}
}
.....
// Creating the new data that represent a density function.
var kde = science.stats.kde().sample(newValues);
// I have replaced the bandwidth method (Multivariate Density Estimation)
// because this method works better than previous (Density Estimation)
// min and max are calculated previously
kde.bandwidth(science.stats.bandwidth.nrd0);
var frequency = Math.abs(parseFloat(max) - parseFloat(min)) / 512
var newData = kde(d3.range(min,max,frequency));

.....
// The array that is inside of the group is a reference (obviously but it is important)
// Deleting the contains of the array
groups.splice(0,groups.length)
// add the new data
for (var key in newData) {
groups.push({key:newData[key][0],value:newData[key][2]
})

关于javascript - javascript d3 和 dc 的概率密度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com