我有一个数据框“QARef”whith 25个变量。只有5个唯一的作业(第3列),但每个作业有很多行:
string(QARef)'data. frame':25个变量的648个观测值:
我使用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的dimnames之间的匹配。例如,QARef列Feature_Type==“LINE”应匹配dimname“LINE”等。
任何提示如何做到这一点或在哪里找到答案将是高度赞赏。
1条答案
按热度按时间xxhby3vn1#
我想我找到解决办法了。可能不太好,但很有效: