在尝试绘制直方图时,找不到函数“ceil”错误

时间:2013-11-18 22:23:26

标签: r

好吧,伙计们。我对Rstudio很新,本周才知道。我正在使用Windows 8和R studio最新版本并安装了RGui。 我试图绘制一些数据的直方图,并继续收到此错误消息,即使我在RGui中尝试代码:

  

屏幕(1)
  histplot(t(X),"代谢物:Hist")
  histplot中的错误(t(X),"代谢物:Hist"):     找不到功能" ceil"

为什么要问我" ceil"这是什么意思?我只想绘制直方图? 我的数据以4行乘200列表示,第一列是4个不同的变量名称。即每行代表来自不同变量的数据。

我在想它,因为我需要分别对每一行进行直方图,而不是试图对所有数据进行直方图。这可能是错误出现的原因吗?

我正在使用包histplot.r,这是histplot的脚本:

histplot <- function(x,sam) {
nn <- ceil(sqrt(length(x)))
BW <- (max(x)-min(x))/nn
xxx <- hist(x, freq = TRUE, main=sam)
N <- xxx$counts # Get the freq distribution
MIDS <- xxx$mids # Get the centres
Xaxis <- seq(min(x), max(x), by = 0.01)
MU <- mean(x)
SIGMA <- std(x)
y <- exp(-0.5 * ((Xaxis - MU)/SIGMA)^2) / (sqrt(2*pi) * SIGMA)
matplot(Xaxis, (y * BW * sum(N)), type="l", col = 2, lty = 1, lwd = 1, add = TRUE)
abline(a=NULL,b=NULL, h=NULL, v=MU, col=3, lty=2, lwd=1) #  Add mean
abline(a=NULL,b=NULL, h=NULL, v=MU-SIGMA, col=4, lty=2, lwd=1) # Add mean-stdev
abline(a=NULL,b=NULL, h=NULL, v=MU+SIGMA, col=4, lty=2, lwd=1) # Add mean+stdev
}

当我在Rstudio,屏幕1的脚本中运行时,histplot不起作用。这是我的完整脚本:

rm(list=ls())
graphics.off()
source("histplot.r")
source("normplot.r")
X <- read.table("metabolites.csv",sep=",",header=FALSE)

x11()
split.screen(c(1,2))
screen(1)
histplot (t(X), "Metabolites: Hist")
screen(2)
bbb <- qqplot(t(X), ppoints(t(X)), ylab =
                  "Probability", main = "metabolites: Norm")
qqplot(bbb)

1 个答案:

答案 0 :(得分:1)

ceil函数是histplot在引擎盖下使用的函数。它不是标准R安装的一部分,也不是您加载的任何其他软件包的一部分。这会导致您获得错误,但无法找到ceil函数。我怀疑ceil函数与ceiling函数具有相同的功能,但我只是在这里推测。

ceil函数可能是histplot包依赖的包的一部分。尝试使用dependencies = TRUE重新安装软件包。根据您的评论,您需要加载matlab包,其中包含ceil函数。