Error : Non-numeric argument to mathematical function in 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 中编写计算泊松分布的程序。这个程序会报错。 >>
"Error in dpois(x, lambda) : Non-numeric argument to mathematical function"
控制台:
> 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
始终 returns 无论用户键入什么作为字符数据。将你的 readline
语句包装在 as.numeric
中,像这样:
a <- as.numeric(readline(prompt="Enter a value: "))
此外,我不完全确定您的目标,但 while
循环使用不当。事实上,这似乎完全没有必要,因为 dpois
可以简单地给出您为 x
.
计算的四个值
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 中编写计算泊松分布的程序。这个程序会报错。 >> "Error in dpois(x, lambda) : Non-numeric argument to mathematical function"
控制台:
> 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
始终 returns 无论用户键入什么作为字符数据。将你的 readline
语句包装在 as.numeric
中,像这样:
a <- as.numeric(readline(prompt="Enter a value: "))
此外,我不完全确定您的目标,但 while
循环使用不当。事实上,这似乎完全没有必要,因为 dpois
可以简单地给出您为 x
.