0

Rで作成した関数は次のようになります

calcBMI <- function (w,f,i,bmi,h) {

  w <- 204

  f <- 6

  i <- 1

  h <- f * 12 + I

  bmi <- (w / (h * h)) * 703

  return(bmi)

}

#Call Function
calcBMI()

すべてがうまくいく

私の質問は、新しい値 w または新しい f でこの関数を呼び出す方法です

私がしたたびに

w <- 254

calcBMI()

古い値を取得しました

ありがとう、オーデッド・ドロール

4

2 に答える 2

4

calcBMIその中のコードのビットを呼び出すたびに、古い値を取得し続けます

w <- 204
f <- 6
# ... etc

が再実行されるため、BMI 計算ではこれらの値が使用されます。

あなたがすべきことは、関数のパラメータとして値を変更したいものを設定し、それらの値を に渡すことです

すなわち:

calcBMI <- function (w, f, i) {
  h <- f * 12 + i # <-- note: in your original post this was 'I' which is not defined?    
  bmi <- (w / (h * h)) * 703   
  return(bmi)    
}

次に、 の値を呼び出し て、次のようにします。calcBMIwfi

calcBMI(w=204, f=6, i=1) ## 26.91162
calcBMI(w=254, f=6, i=1) ## 33.5076
# and so on ...

このようにして、BMI の計算では、パラメーター値からwf、およびの値が取得さiれます。

(元々入力パラメーターとしてと がbmiありました。ユーザーが BMI 計算への入力として指定していない、、から計算されるため、これらを削除しました)。hwfi

于 2013-05-28T01:42:52.610 に答える
4

私がお勧めします:

calcBMI <- function (w=204,f=6,i=1) {
  h <- f * 12 + i  ## note R is case sensitive: i != I
  w / h^2 * 703    ## value of last expression gets returned
}

それで:

calcBMI()  ## use default values
calcBMI(w=254)

これは宿題ですか?

于 2013-05-28T01:43:34.003 に答える