r-project SixSigma ss.rr在`row.names< - .data.frame`(`* tmp *`,value = value)中给出错误:无效' row.names'长度

时间:2016-12-22 18:53:22

标签: r

我有以下data.frame

> str(luc)
'data.frame':   19 obs. of  4 variables:
 $ driver  : Factor w/ 16 levels "nr #1","nr #10",..: 1 9 10 11 12 13 14 15 16 2 ...
 $ position: Factor w/ 16 levels "pos #1","pos #10",..: 1 9 10 11 12 13 14 15 16 2 ...
 $ ate     : num  2 2 2 2 2 2 2 2 2 1 ...
 $ i2      : num  0.00656 0.00676 0.00679 0.00681 0.00666 0.00657 0.00674 0.00676 0.00682 0.00684 ...
> luc
   driver position ate      i2
1   nr #1   pos #1   2 0.00656
2   nr #2   pos #2   2 0.00676
3   nr #3   pos #3   2 0.00679
4   nr #4   pos #4   2 0.00681
5   nr #5   pos #5   2 0.00666
6   nr #6   pos #6   2 0.00657
7   nr #7   pos #7   2 0.00674
8   nr #8   pos #8   2 0.00676
9   nr #9   pos #9   2 0.00682
10 nr #10  pos #10   1 0.00684
11 nr #11  pos #11   2 0.00671
12 nr #12  pos #12   2 0.00673
13 nr #13  pos #13   2 0.00660
14 nr #14  pos #14   2 0.00672
15 nr #15  pos #15   2 0.00673
16 nr #16  pos #16   2 0.00654
17  nr #7   pos #1   2 0.00678
18  nr #3   pos #2   2 0.00680
19  nr #1   pos #3   2 0.00658

非常接近SixSigma软件包提供的 ss.data.rr

使用ss.data.rr调用ss.rr可以正常工作,但是我尝试使用luc时始终遇到错误:

> ss.rr(var=i2, appr=driver, part=ate, data=luc)
Error in ``row.names<-.data.frame``(`*tmp*`, value = value) : 
  invalid 'row.names' length

如何摆脱它?

以下完整代码;我从更大的数据集中创建data.frame(luc)。

library("SixSigma")

luc <- subset(cf, cf$CntrlVal == 85)
luc <- data.frame(cbind(luc$DriverNumber, luc$Position, luc$ATE, luc$I2))
colnames(luc)<-c("driver", "position", "ate", "i2")

luc$position <- as.factor(paste0("pos #", luc$position))
luc$driver<- as.factor(paste0("nr #", luc$driver))
luc[10, c("ate")] <- 1
luc<-luc[-c(20:48), ]

ss.rr(var=i2, appr=driver, part=ate, data=luc)

ss.rr(var=i2, appr=driver, part=position, data=luc)

1 个答案:

答案 0 :(得分:1)

Gage R&amp; R需要重复测量才能评估测量系统。显然,数据集仅包含每个因子组合的一个观察值(如果有的话)。例如,ss.data.rr data.frame对每个运算符的每个原型有3个度量值:

table(ss.data.rr$prototype, ss.data.rr$operator)

          op #1 op #2 op #3
  prot #1     3     3     3
  prot #2     3     3     3
  prot #3     3     3     3

错误是由于anova表中没有“Residuals”行(变体的可重复性组件)。我将在SixSigma的下一个版本中编写信息错误。