簡體   English   中英

錯誤:R中數學函數的非數字參數

[英]Error : Non-numeric argument to mathematical function in R

dbl_var<-lambda
probpois <-function(x,  lambda){

  #e<-2.718
prob<-exp(((lambda^x)*(2.718^lambda))/factorial(x))

retun(prob)

}

a<-readline((prompt="Enter a value: "))
b<-readline((prompt="Enter b value: "))
lambda<-readline((prompt="Enter lambda value: "))
x<-(a:b)
while (x<b || x>a ) {

dpois(x ,lambda)

}

我想在R Studio中編寫計算泊松分布程序。 該程序將出錯。 >> “ dpois(x,lambda)中的錯誤:數學函數的非數字參數”

安慰:

  > dbl_var<-lambda
> probpois <-function(x,  lambda){
+   
+       #e<-2.718
+  prob<-exp(((lambda^x)*(2.718^lambda))/factorial(x))
+   
+   retun(prob)
+ 
+ 
+ 
+ }
> a<-readline((prompt="Enter a value: "))
Enter a value: 1
> b<-readline((prompt="Enter b value: "))
Enter b value: 4
> lambda<-readline((prompt="Enter lambda value: "))
Enter lambda value: 1.5
> x<-(a:b)
> while (x<b || x>a ) {
+ 
+ dpois(x ,lambda)
+   
+ }
Error in dpois(x, lambda) : Non-numeric argument to mathematical function
> 

readline始終返回用戶鍵入的任何字符數據。 readline語句包裝為as.numeric ,如下所示:

a <- as.numeric(readline(prompt="Enter a value: "))

另外,我不太確定您在這里的目標,但是while循環使用不正確。 實際上,這似乎完全沒有必要,因為可以簡單地為dpois賦予您為x計算的四個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM