2012-05-15 3 views
0

Я пытаюсь построить сплайн роста для переменной «ipen» против «года» в this данных. Код, который я использую:R: ylim и xlab/ylab в plot() для пакета grofit не работает

grofit <- read.csv('http://dl.dropbox.com/u/1791181/grofit.csv') 
# install.packages(c("grofit"), dependencies = TRUE) 
require(grofit) 
growth = gcFitSpline(grofit$year, grofit$ipen) 
plot(growth) 

Это прекрасно работает и производит участок ниже. Но проблема в том, что (a) я не могу изменить метки по умолчанию с параметрами xlab или ylab, и (b) я не могу изменить масштаб оси x, который должен быть (0,100), с ylim=c(0,100) в заявлении plot(). Я не мог найти указателей в документации grofit(). this.

+1

Я бы взял функцию 'plot.gcFitSpline()' и настроил ее. –

ответ

2

непосредственно не использовать plot на gcFitSpline результат, а использовать str(growth) исследовать структуру кривой посадки объекта и определить, что вы хотите построить, или смотреть на plot.gcFitSpline код (просто введите имя функции без круглые скобки в консоли и нажмите Enter)

например:

growth = gcFitSpline(grofit$year, grofit$ipen) 

plot (grofit$year, grofit$ipen, pch=20, cex=0.8, col="gray", ylim=c(0, 100), 
    ylab="Growth", xlab="Year", las=1) 
points(growth$fit.time, growth$fit.data, t="l", lwd=2) 

Это дает:

result grofit plot

+1

Абсолютно совершенный! Большое спасибо, Нико. – user702432

1

На самом деле, я думаю, что документация grofit имеет указатель об этом:

... Другие графические параметры могут также передаваться в качестве аргументов [так в оригинале]. Это в настоящее время не имеет эффекта и предназначено только для выполнения требований общей функции.

Вы, возможно, придется переписать plot.gcFitSpline функцию, специфичную для графических параметров, которые вы хотите, но может быть причиной того, что функция так оно и есть.

BTW, я не уверен, что это отличная идея дать вашим данным то же имя, что и пакет, который вы используете.