2013-11-18 2 views
-1

U Aight guys. Я очень новичок в Rstudio только знал об этом на этой неделе. Я использую окна 8 и студию R в новейшей версии и также установил RGui. Я пытаюсь построить гистограмму для некоторых данных и продолжать получать это сообщение об ошибке, даже когда я пытаюсь код в RGui:не удалось найти функцию ошибки «ceil» при попытке построить гистограмму

экрана (1)
histplot (т (Х), "метаболиты: Hist «)
ошибки в histplot (т (Х), "метаболиты: Hist"): не может найти функцию "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 
} 

histplot не работает, когда я запускаю его в моем сценарии в Rstudio, экран 1. Вот мой полный сценарий:

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) 
+6

Добро пожаловать в SO. Пожалуйста, включите пакеты, которые вы используете, поскольку 'histplot' не находится в базе' R'. Кроме того, если вы включите воспроизводимый набор данных, вы получите гораздо лучшие ответы. – Justin

ответ

1

ceil функция является функцией, которая histplot использует под капотом. Он не является частью стандартной R-установки, а не частью каких-либо дополнительных пакетов, которые вы загрузили. Это приводит к ошибке, которую вы получаете, она не может найти функцию ceil. Я подозреваю, что функция ceil имеет ту же функциональность, что и функция ceiling, но я просто размышляю здесь.

Возможно, функция ceil является частью пакета, на который зависит пакет histplot. Попробуйте переустановить пакет с помощью dependencies = TRUE. Из вашего комментария оказалось, что вам нужно также загрузить пакет matlab, который содержит функцию ceil.

+0

Спасибо за ваш ответ, я не знаю, где находится этапы? Все, что я сделал, это загрузить пакет histplot из папки, которую мы используем для выполнения этой работы. Нужно ли мне переназначать histplot с веб-сайта вместо этого, чтобы я мог выполнять бит зависимости = TRUE? –

+0

Установка пакетов обычно выполняется с помощью функции 'install.packages', которая имеет аргумент' dependencies'. Подробнее см. '? Install.packages' (документация для этой функции). –

+0

Просто попробовал установочные пакеты и по-прежнему получил ошибку потолка! вот мой сценарий. install.packages ("histplot.r", зависимость = TRUE) сообщения, что пришло является: histplot (т (Х), "Метаболиты: Hist") Ошибки в histplot (т (Х), " Метаболиты: Hist "): не удалось найти функцию" ceil " –

Смежные вопросы