簡體   English   中英

錯誤“ x”必須是數字?

[英]Error 'x' must be numeric?

我不斷收到一條錯誤消息,指出hist()輸出的“ x”必須為數字,我該如何解決呢?

length= function(nsims,n)
{


    x <- as.numeric(seq(2,nsims))
    t <- lapply(x,abovex) 
    return(t)
  }
hist(length(10,10))

注意:

abovex = function(n) {
    if (n<=0){ return(cat("n must be greater than 0"))}
    else
  step = c(1, -1)
  S = c(0, cumsum(sample(step,n, prob=c(.5, .5), replace=T)))
  above=sum(S[S > 0])
  return(above)

 }

謝謝!

您的length函數返回一個列表,而不是數字向量。 length也是一種原始函數,因此您可能希望選擇其他名稱以避免混淆自己。

如果要將結果* s *放大為向量,請使用sapply而不是lapply

length_sims <- function(nsims,n)
{
  x <- seq(2,nsims)
  t <- sapply(x,abovex) 
  return(t)
}
hist(length_sims(10,10))

您的功能也可以縮短為:

length_sims_short <- function(n) sapply(seq(2, n), abovex)
hist(length_sims_short(10))

暫無
暫無

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

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