我有一个包含 25 个变量的数据框“QARef”。只有 5 个独特的作业(第 3 列),但每个作业有很多行:
str(QARef)'data.frame':648 obs。25 个变量:
我正在使用 tapply 为某些行生成所有 5 个作业的平均值:
RefMean <- tapply(QARef$MTN,
list(QARef$Target_CD, QARef$Feature_Type, QARef$Orientation, QARef$Contrast, QARef$Prox),
FUN=mean, trim=0, na.rm=TRUE)
我得到了一些我希望被称为多维列表的东西:
str(RefMean)
num [1:17, 1:2, 1:2, 1:2, 1:2] 34.1 34.2 25.2 28.9 29.2 ...
- attr(*, "dimnames")=List of 5
..$ : chr [1:17] "55" "60" "70" "80" ...
..$ : chr [1:2] "LINE" "SQUARE"
..$ : chr [1:2] "X" "Y"
..$ : chr [1:2] "CLEAR" "DARK"
..$ : chr [1:2] "1:1" "Iso"
我想要做的是向 QARef 添加一列,其中包含每行的正确 RefMean 值,具体取决于 QARef 列中的值和 RefMean 的暗名称之间的匹配。例如 QARef 列 Feature_Type=="LINE" 应该匹配暗名“LINE”等。
任何提示如何做到这一点或在哪里可以找到答案将不胜感激。