特定の列の値の平均値を見つけて、それを新しい列に追加しようとしています。特定の名前の特定の列の平均値を取得する
私は、文字要素のリストを含む変数を持ち、これらの要素は特定の列名に対応しています。例えば、
qcs <- list.files(qcDirectory)
str(qcs)
chr [1:5] "201701" "201702" "201703" "201704"
は、ここで例のデータテーブルです:
201701 201702 201703 201704
row1 12 20 50 54
row2 15 23 45 35
row3 16 20 52 58
row4 17 13 47 48
は、例えば、私は「201701」と「201702」という名前の列に含まれる値の平均値を取得したいのですが、
201701 201702 201703 201704 mean
row1 12 20 50 54 16
row2 15 23 45 35 19
row3 16 20 52 58 18
row4 17 13 47 48 15
テーブルのどこにでも出現する可能性があるため、最初のx個の列には適用できません。私はlapplyが行く方法かもしれないと思っていますが、私はどのようにこれを動作させるか分からない。普通の英語では、基本的に、この変数[qcs]に含まれているすべての列名に対して、それらの値の平均を見つけることが必要です。何らかのループが必要なのかどうか、わからない。私は答えが既にそこにあると確信していますが、私はノブで、thisとthisのような類似の投稿を適用しようとすると問題があります。私は、以下のように曖昧に思っています。これは、操作する右の列を正しく識別できますが、関連する列の行全体の値を平均化するのではなく、各列の値を平均してリストを出力するだけです。それらを新しい列に入れます。任意のアイデアが評価されます。
sapply(colnames(datamatrix), function(c) {
if (c %in% qcs) datamatrix$mean = mean(test1[, c])
})