Javascript中的标准偏差,用于MS Excel API
Standard Deviation in Javascript, for MS Excel API
我是Javascript的新手,正在为一些简单的统计函数开发Excel API,但是我被困在如何为它编写标准偏差方法上,有人可以帮助阐明一些问题吗?这是我到目前为止所拥有的:
function writedata(data) {
Office.context.document.setSelectedDataAsync(data, function (asyncResult) {
if (asyncResult.status === "failed") {
writeToPage('Error: ' + asyncResult.error.message);
}
});
}
function sumdata(begin, end) {
var command ="=sum(" + begin + ":" + end + ")";
Office.context.document.setSelectedDataAsync(command, function (asyncResult) {
if (asyncResult.status === "failed") {
writeToPage('Error: ' + asyncResult.error.message);
}
});
}
function meanvalue(begin, end) {
var tot = "=total(" + begin + ":" + end + ")";
var cnt = tot.valueOf.length;
var average = tot / cnt;
Office.context.document.setSelectedDataAsync(average, function (asyncResult) {
if (asyncResult.status === "failed") {
writeToPage('Error: ' + asyncResult.error.message);
}
});
}
要返回返回数组的标准偏差,您需要先计算平均值,然后对每个 ITM 与平均值的差值应用标准差公式。
Math.mean= function(array){
return array.reduce(function(a, b){ return a+b; })/array.length;
}
Math.stDeviation=function(array){
var mean= Math.mean(array),
dev= array.map(function(itm){return (itm-mean)*(itm-mean); });
return Math.sqrt(dev.reduce(function(a, b){ return a+b; })/array.length);
}
// Example:
var A2= [6.2, 5, 4.5, 6, 6, 6.9, 6.4, 7.5];
Math.stDeviation(A2); /*value=> 0.899913190257816;*/
Math.mean(A2)/* value=> 6.0625 */
相关文章:
- 将函数的上下文应用于javascript变量
- keyup事件处理程序更改焦点不适用于快速键入
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- PHP中的setcookie仅适用于localhost
- 包括用于facebook评论框的JavaScript SDK
- 如何检测用于WebGL的专用或集成显卡
- ng更改事件不适用于Dropdown
- 用于搜索的聚合物嵌套绑定
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- JS编译器/包管理器,用于版本控制
- 将CSS应用于printWindow.print();在Javascript中
- 用于'魔术串'属性
- 用于检查数组中是否存在元素的javascript自定义方法
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- JavaScript 函数,用于使用具有多个参数的记录集查询 MS Access DB
- Javascript中的标准偏差,用于MS Excel API
- 用于Office的Javascript API:如何手动触发MS Office'的自动套用格式功能
- Bootstrap粘贴不适用于IE、Chrome或MS Edge