首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误'x‘必须是数字吗?

问错误'x‘必须是数字吗?
EN

Stack Overflow用户
提问于 2014-03-11 05:42:30
回答 1查看 4.3K关注 0票数 1

我一直收到一条错误消息,告诉我hist()输出的"x“必须是数字,我该怎么解决这个问题呢?

代码语言:javascript
复制
length= function(nsims,n)
{


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

注意:

代码语言:javascript
复制
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)

 }

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-03-11 05:45:06

您的length函数返回一个列表,而不是一个数字向量。length也是一个基本函数,所以您可能希望选择一个不同的名称,以避免混淆。

如果希望将结果*s*简化为一个向量,请使用sapply而不是lapply。

代码语言:javascript
复制
length_sims <- function(nsims,n)
{
  x <- seq(2,nsims)
  t <- sapply(x,abovex) 
  return(t)
}
hist(length_sims(10,10))

您的函数也可以缩写为:

代码语言:javascript
复制
length_sims_short <- function(n) sapply(seq(2, n), abovex)
hist(length_sims_short(10))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22311961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档