首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用R.NET进行变更点分析

如何使用R.NET进行变更点分析
EN

Stack Overflow用户
提问于 2017-08-08 06:19:30
回答 2查看 473关注 0票数 0

如何使用R.NET执行更改点分析。

代码语言:javascript
复制
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
double[] data = new double[] { 1, 2, 3, 4, 5, 6 };
NumericVector vector = engine.CreateNumericVector(data);
engine.SetSymbol("mydatapoints", vector);
engine.Evaluate("library(changepoint)");
engine.Evaluate("chpoints = cpt.mean(mydatapoints, method="BinSeg")");
DynamicVector result = engine.Evaluate("x<-cpts(chpoints)").AsVector(); ;
engine.Dispose();

我在engine.Evaluate("library(changepoint)");上收到以下错误

库中的错误(转换点):没有称为“转换点”的包

编辑# 1

changepoint包应该是显式安装的,默认情况下它并不在那里。使用RGui ->包安装->加载包。

现在,错误已更改为

chpoints =cpt.mean(mydatapoint,method=“BinSeg”)的状态错误:意外输入

编辑# 2

在修复了前两个错误之后,下面的一个出现在第二个评估语句上。

BINSEG中的错误(sumstat,pen = pen.value,cost_func = costfunc,minseglen = minseglen,:q大于段4的最大数目

使用这些命令在R上也出现了相同的错误

代码语言:javascript
复制
value.ts <- c(29.89, 29.93, 29.72, 29.98)
chpoints = cpt.mean(value.ts, method="BinSeg")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-08 11:23:25

数据点应该在时间序列中转换。

代码语言:javascript
复制
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
double[] data = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
NumericVector vector = engine.CreateNumericVector(data);
engine.Evaluate("library(changepoint)");
engine.SetSymbol("values", vector);
engine.Evaluate("values.ts = ts(values, frequency = 12, start = c(2017, 1))");
engine.Evaluate("chpoints = cpt.mean(values.ts, method=\"BinSeg\")");
var result = engine.GetSymbol("chpoints");
engine.Dispose();

chpoints 现在正在寻找如何在C#、 C#中获取结果。

票数 0
EN

Stack Overflow用户

发布于 2017-08-08 08:33:21

错误不是在您的调用代码中,而是在您对R的使用中(显然您现在已经意识到了)。因此,将此标记为与rdotnet或c-sharp有关的标记似乎具有误导性:

代码语言:javascript
复制
mydatapoints <- c(1, 2, 3, 4, 5, 6 )
library(changepoint);
chpoints = cpt.mean(mydatapoints, method="BinSeg");
#Error in BINSEG(sumstat, pen = pen.value, cost_func = costfunc, minseglen = minseglen,  : 
#  Q is larger than the maximum number of segments 4

我不知道你想要什么。变化点分析通常需要配对的数据点.还有所有的爵士音乐。给R回归函数取完全线性数据也是不明智的。它经常导致不可逆矩阵.

我建议您使用https://stackoverflow.com/search?q=%5Br%5D+changepoint搜索,以找到一个简单的代码来构建到您的REngine调用方案中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45560634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档