我做了分布拟合,正在看Q-Q-Plot,想知道是否有一种简单的方法可以从图形中获取相应的值。
private void comboCatSOP_Enter(object sender, EventArgs e)
{
try
{
string cbi = this.comboCatSOP.GetItemText(this.comboCatSOP.SelectedItem);
MessageBox.Show(cbi);
using (SqlConnection conn = new SqlConnection(connection))
{
string CmdString = "select Category from Category";
comboCatSOP.Items.Clear();
SqlCommand cmd = new SqlCommand(CmdString, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt1 = new DataTable("Category");
sda.Fill(dt1);
foreach (DataRow dr in dt1.Rows)
{
comboCatSOP.Items.Add(dr["Category"].ToString());
}
string CmdString2 = "select p.ModelNo from Product p inner join Category c on p.CatID=c.CatID where p.CompanyID='" + txtCompanyChangeInternal + "' and c.Category='" + cbi.ToString() + "' group by c.CatID,p.ModelNo";
SqlCommand cmd2 = new SqlCommand(CmdString2, conn);
SqlDataAdapter sda2 = new SqlDataAdapter(cmd2);
DataTable dt2 = new DataTable("Product");
sda2.Fill(dt2);
comboModelSOP.Items.Clear();
foreach (DataRow dr in dt2.Rows)
{
comboModelSOP.Items.Add(dr["ModelNo"].ToString());
}
}
}
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
}
在最后一行代码中,我收到了Q-Q-Plot,而没有计算值。但是我也对价值观感兴趣。我如何获得它们?
最好的问候 诺比
答案 0 :(得分:0)
要详细说明我在上面的评论,您可以像这样在R中编辑一个函数:
qqcompValues <- edit(qqcomp)
在编辑器中,将第111行替换为以下内容:
return(data.frame(x=fittedquant, y=sdata))
请注意,以上编辑假定您使用的是默认的plotstyle =“ graphics”函数参数。
然后您可以获取QQ值,如下所示:
qqValues <- qqcompValues(lognormalfit)
qqValues
x y
1 1026674 1050000
2 1158492 1100000
3 1247944 1230000
4 1327616 1300000
5 1407939 1450000
6 1497825 1459785
7 1613479 1654000
8 1820639 1888000
答案 1 :(得分:0)
1
具有使用qqcomp
生成图的选项:这种类型的图返回带有数据的对象。因此,您可以使用
ggplot2
然后可以使用
从图对象中获取相关数据plotData <- qqcomp(lognormalfit, plotstyle = "ggplot")