R: a、b、c、d、e、f、g、h の 8 つのタイプで分類された 1 つの列を持つ行列があります。他の列のデータを使用して、型ごとに異なる計算を行う必要があります。switch() 関数を使用して、各タイプのループを自動化し、各タイプの差分計算を記述したいと考えています。ただし、私がオンラインで見ているものはすべて、各スイッチの 1 行スイッチ計算の構文の例のみを示しています。
これは、switch() ヘルプで提供されているコードを使用した例です。mean() が関数であることは知っていますが、この例では、構文がわからないことを説明したいだけなので、関数ではないとしましょう (オンラインの調査では明確に述べられていません)。 :
centre <- function(x, type) {
switch(type,
mean = {
total.sum<-sum(type)
mean = total.sum/length(type)
},
median = median(x),
trimmed = mean(x, trim = .1))
}