2017-12-20 15 views
0

私はRを学んでいるだけで、所得に対する税額を計算する関数を作成するという問題があります。最初の50,000人には10%の税金が課され、残りの人には20%の課税が課せられます。これは私が作成した関数ですが、いつでも呼び出すようにしようとしています。「関数 "tax_calc"を見つけることができませんでした。Rはなぜ私の機能を見つけることができないと言っていますか?

tax_calc<- function(income){ 
     if (income <= 50000){ 
      return (income*(0.10)) 
     } else { 
      return ((50000*.1)+((income - 50000)*.2) 
     } 
    } 

私は間違っていることを理解していません。ご協力いただきありがとうございます。

+1

新鮮なセッションで試してください – akrun

+3

RStudioを使用している場合は、ソースが適切に供給されていることを確認する必要があります。関数を選択してRunを実行してください – hrbrmstr

+0

変数エクスプローラに 'tax_calc'が表示されますか?関数を定義するコード行を実行していない場合、Rはその関数が存在するかどうかを知りません。 – lebelinoz

答えて

0

機能が有効でないためです。あなたはそれを作成しようとしましたか?

> tax_calc<- function(income){ 
+  if (income <= 50000){ 
+   return (income*(0.10)) 
+  } else { 
+   return ((50000*.1)+((income - 50000)*.2) 
+  } 
Error: unexpected '}' in: 
"   return ((50000*.1)+((income - 50000)*.2) 
     }" 
>  } 
Error: unexpected '}' in " }" 
> 

それは次のようになります。今

tax_calc<- function(income){ 
    if (income <= 50000){ 
     return (income*(0.10)) 
    } else { 
     return ((50000*.1)+(income - 50000)*.2) 
    } 
} 

tax_calc(100000) 
#[1] 15000 
0

あなたは第五行の末尾にカッコレーキ化されています。この関数を実行してみてください:

tax_calc<- function(income){ 
    if (income <= 50000){ 
     return (income*(0.10)) 
    } else { 
     return ((50000*.1)+((income - 50000)*.2)) # Here I added the parenthesis 
    } 
} 

関数を呼び出すには、コード行を実行するか、関数を別のスクリプトの中で実行することができます。後者の場合は、tax_calc関数をスクリプトに保存することができます(例: "TaxCalc_Script.R"など)。あなたが機能を使用する必要があるときには、次のように使用することができます。

source("TaxCalc_Script.R") # if the R script is in your working directory 
# or 
source("C:/User.../WorkingDirectory/TaxCalc_Script.R") ## if the script is in a different folder 

この後者の方法では、1つのスクリプトで複数の機能を保存することができます。 source()を使用すると、スクリプト内のすべての機能が使用環境に呼び出されます。

関連する問題