Доступ к контрольной диаграмме приводит к R? - PullRequest
2 голосов
/ 18 мая 2011

У меня есть короткий R-скрипт, который загружает кучу данных и выводит их на график XBar. Используя следующий код, я могу построить данные и просмотреть различную статистическую информацию.

library(qcc)
tir<-read.table("data.dat", header=T,,sep="\t")
names(tir)
attach(tir)
rand <- sample(tir)
xbarchart <- qcc(rand[1:100,],type="R")
summary(xbarchart)

Я хочу иметь возможность выполнить анализ возможностей процесса (см. здесь (PDF) на стр. 5) сразу после создания диаграммы XBar. Чтобы создать диаграмму анализа, мне нужно сохранить результаты LCL и UCL из результатов диаграммы XBar, созданных ранее, как переменные. Есть ли способ сделать это?

1 Ответ

5 голосов
/ 18 мая 2011

Я отвечу на ваш вопрос, используя пример из ?qcc файла справки.

x <- c(33.75, 33.05, 34, 33.81, 33.46, 34.02, 33.68, 33.27, 33.49, 33.20,
    33.62, 33.00, 33.54, 33.12, 33.84)

xbarchart <- qcc(x, type="xbar.one", std.dev = "SD")

Полезная функция для проверки структуры переменных и результатов функции - это str(), сокращение от структуры.

str(xbarchart)

List of 11
 $ call      : language qcc(data = x, type = "xbar.one", std.dev = "SD")
 $ type      : chr "xbar.one"
 $ data.name : chr "x"
 $ data      : num [1:15, 1] 33.8 33 34 33.8 33.5 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ Group  : chr [1:15] "1" "2" "3" "4" ...
  .. ..$ Samples: NULL
 $ statistics: Named num [1:15] 33.8 33 34 33.8 33.5 ...
  ..- attr(*, "names")= chr [1:15] "1" "2" "3" "4" ...
 $ sizes     : int [1:15] 1 1 1 1 1 1 1 1 1 1 ...
 $ center    : num 33.5
 $ std.dev   : num 0.342
 $ nsigmas   : num 3
 $ limits    : num [1, 1:2] 32.5 34.5
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr ""
  .. ..$ : chr [1:2] "LCL" "UCL"
 $ violations:List of 2
  ..$ beyond.limits : int(0) 
  ..$ violating.runs: num(0) 
 - attr(*, "class")= chr "qcc"

Вы заметите, что последний-последний элемент в этом списке называется $ limit и содержит два значения для LCL и UCL.

Этот элемент просто извлечь:

limits <- xbarchart$limits
limits

      LCL      UCL
 32.49855 34.54811

Таким образом LCL <- limits[1] и UCL <- limits[2]

...