別の変数「Period」に基づいて、単一グループ「Actrl」の電話処理時間「Handle」の平均「ctrlmeans」を取得しようとしています。次に、データフレーム内の各人の「ハンドル」からその平均を差し引いて、新しい変数「差」を作成したいと思います。
これが私がしたことです:
> ttp1<-read.csv("ttp1.csv")
> dput(head(ttp1,12))
structure(list(NUID = structure(c(4L, 6L, 7L, 8L, 11L, 12L, 9L,
10L, 1L, 2L, 3L, 5L), .Label = c("A000904", "A024324", "A047744",
"A063828", "A071164", "C833344", "C833345", "C833346", "E254607",
"Y950092", "Z952754", "Z993876"), class = "factor"), Period = c(201415L,
201415L, 201415L, 201415L, 201415L, 201415L, 201416L, 201416L,
201416L, 201416L, 201416L, 201416L), Queue = c(1L, 2L, 1L, 1L,
2L, 2L, 1L, 2L, 1L, 1L, 2L, 2L), Group = structure(c(2L, 4L,
3L, 3L, 3L, 3L, 1L, 4L, 3L, 3L, 3L, 3L), .Label = c("A", "A ",
"ACTRL", "B"), class = "factor"), Handle = c(1013L, 699L, 425L,
450L, 444L, 681L, 532L, 716L, 388L, 307L, 430L, 380L)), .Names = c("NUID",
"Period", "Queue", "Group", "Handle"), row.names = c(NA, 12L), class = "data.frame")
私のコマンド:
> ctrlmeans <- with(subset(ttp1, Group=="ACTRL"), tapply(Handle, Period, mean))
> ctrlmeans
201415 201416
500.00 376.25
> Difference <- ttp1$Handle-ctrlmeans[ttp1$Period]
> Difference
<NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
NA NA NA NA NA NA NA NA NA NA NA NA
なぜNAを取得するのですか?
tapply コマンド「queue」に追加のグループ化変数を含めた場合、どうすればよいでしょうか?