Re: [Rd] Inferring dimensions on bitmap device from par()

2007-01-26 Thread Henrik Bengtsson
On 1/25/07, Prof Brian Ripley [EMAIL PROTECTED] wrote:
 You asked

  (or ultimately the dimension of the generated plot in pixels) without
  know which of png(), jpeg() or bitmap() was used?

 That is determined by arguments 'width' and 'height' in the call to the
 device, and for the first two it is in pixels and for the third it is in
 inches.  Internally these are just numbers, and in particular the R
 graphics system does not know the resolution to be used in pixelization.
 Since some graphics parameters assume 'inches' and some 'pixels',
 assumptions have to be made.  png() assumes 96dpi and postscript() assumes
 72dpi.

Thanks. That is useful to know.


 You had the information you asked for, so why not just use it?

The function plotting does not know about the device, and I want to be
able to keep fixed-sized margins in the output (assuming bitmap
images).

 R is not claiming to be your keeper.

That is one of the answers I expected and wanted to hear given that it
was the case.

/Henrik


 On Thu, 25 Jan 2007, Henrik Bengtsson wrote:

  Hi,
 
  I am trying to infer the dimension of an opened bitmap (png, jpeg,
  bitmap device...) from par() parmeters.  From the help on par(), I
  found that:
 
  dim - c(400, 200)
  png(foo.png, width=dim[1], height=dim[2])
  dim2 - par(din) * par(cra) / par(cin)
  dev.off()
  dim2
  [1] 399. 199.
 
  I've tried the above on Rv2.4.1 on WinXP and Linux with png() and
  jpeg() and the precision is good enough.  However, when I turn to the
  bitmap() device, I found the following:
 
  s - 3;  # Multiple of 72pt (default value of argument 'res' of bitmap())
  res - s*72;
  bitmap(foo.png, width=dim[1]/res, height=dim[2]/res, res=res)
  dim2 - par(din) * par(cra) / par(cin)
  dev.off()
  dim/dim2
  [1] 3 3
 
  That is, dim/dim2 is not one, but equal to the multiple 's'.   I
  understand that this is because bitmap() is not a device per se and
  utilized postscript() plus a call to ghostscript.  But still, does
  anyone know if it is possible to infer the correct resolution
 
  res2 - s * par(cra) / par(cin)
 
  (or ultimately the dimension of the generated plot in pixels) without
  know which of png(), jpeg() or bitmap() was used?  I know of
  par(ps), but its unit is device specific.
 
  Thanks
 
  Henrik
 
  __
  R-devel@r-project.org mailing list
  https://stat.ethz.ch/mailman/listinfo/r-devel
 

 --
 Brian D. Ripley,  [EMAIL PROTECTED]
 Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
 University of Oxford, Tel:  +44 1865 272861 (self)
 1 South Parks Road, +44 1865 272866 (PA)
 Oxford OX1 3TG, UKFax:  +44 1865 272595


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] ?mean

2007-01-26 Thread Berwin A Turlach
G'day Gabor,

On Thu, 25 Jan 2007 09:53:49 -0500
Gabor Grothendieck [EMAIL PROTECTED] wrote:

 The help page for mean does not say what happens when one
 applies mean to a matrix.

Well, not directly.  :-)

But the help page of mean says that one of the arguments is:

   x: An R object.  Currently there are methods for numeric data
  frames, numeric vectors and dates.  A complex vector is
  allowed for 'trim = 0', only.

And the `Value' section states:
 
 For a data frame, a named vector with the appropriate method being
 applied column by column.

 If 'trim' is zero (the default), the arithmetic mean of the values
 in 'x' is computed, as a numeric or complex vector of length one. 
 If any argument is not logical (coerced to numeric), integer,
 numeric or complex, 'NA' is returned, with a warning.

Since a matrix is a vector with a dimension attribute, and not a data
frame, one can deduce that the second paragraph describes the return
value for `mean(x)' when x is a matrix.

As I always tell my students, reading R help pages is a bit of an
art. :)

 mean and sd work in an inconsistent way on a matrix so that should at
 least be documented. 

Agreed.  But it is documented in the help page of sd, which clearly
states:

 [] If 'x' is a matrix or a data frame, a vector
 of the standard deviation of the columns is returned.

I guess you also want to have it documented in the mean help page?  

But then, should `var' also be mentioned in the mean help page?  This
command also work in an a different and inconsistent manner to mean on
matrices.

And, of course, there are other subtle inconsistencies in the language
used in these help pages.  Note that the mean help page talks about
numeric data frames while the help pages of `var' and `se' talk about
data frames only, though all components of the data frame have to be
numeric, of course.

 Also there should be a See Also to colMeans since that provides the
 missing column-wise analog to sd.

That's probably a good idea.  What would you suggest should be
mentioned to provide the column-wise analog of `var'?

Cheers,

Berwin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] i may have missed something ..

2007-01-26 Thread Jan de Leeuw

but deriv() and friends do not work in R-devel (at least
not on the Mac).
==
Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
home 661-245-1725 skype 661-347-0667 global 254-381-4905
.mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw
==
 
 

dodo2-1.pdf
Description: Adobe PDF document



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] i may have missed something ..

2007-01-26 Thread Prof Brian Ripley
On Thu, 25 Jan 2007, Jan de Leeuw wrote:

 but deriv() and friends do not work in R-devel (at least
 not on the Mac).

They work for me under Linux and Windows.  What does example(deriv) give 
you?

 ==
 Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
 home 661-245-1725 skype 661-347-0667 global 254-381-4905
 .mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw
 ==


-- 
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Using Windows API functions in R

2007-01-26 Thread ровен Акьатои
Somehow autofilter doesn't allow this message to be posted,
will try another time. 

-Original Message-
From: Yuri Volchik [EMAIL PROTECTED]
To: r-devel@r-project.org
Date: Thu, 25 Jan 2007 22:27:13 +
Subject: Using Windows API functions in R

 
 Hi to all.
 
 In programming one application i have to press button to have
 application started, which i would like to do automatically from R.
 To do that i want to use library user32 function SendInput
 
 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/sendinput.asp
 
 So far i managed to write the following
 
 system(shQuote(C:/Program Files/1.exe),wait=F)
 system32 - file.path(Sys.getenv(windir),system32)
 user32 - file.path(system32,user32.dll)
 dyn.load(user32)
 .C(SendInput,..)
 
 And now i'm at loss how to represent the data structure needed for
 correct call to that function, may be somebody could help me with
 this?
 
 Thanks
 
 -- 
 Best regards,
  Yuri  mailto:[EMAIL PROTECTED]
 
 


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Using Windows API functions in R

2007-01-26 Thread Prof Brian Ripley
On Fri, 26 Jan 2007, ? ??? wrote:

 Somehow autofilter doesn't allow this message to be posted,
 will try another time.

 -Original Message-
 From: Yuri Volchik [EMAIL PROTECTED]
 To: r-devel@r-project.org
 Date: Thu, 25 Jan 2007 22:27:13 +
 Subject: Using Windows API functions in R


 Hi to all.

 In programming one application i have to press button to have
 application started, which i would like to do automatically from R.
 To do that i want to use library user32 function SendInput

 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/sendinput.asp

 So far i managed to write the following

 system(shQuote(C:/Program Files/1.exe),wait=F)
 system32 - file.path(Sys.getenv(windir),system32)
 user32 - file.path(system32,user32.dll)
 dyn.load(user32)
 .C(SendInput,..)

You cannot make use of WINAPI calls from .C (or otherwise in R): it is set
up for _cdecl calls only.

You will need to write some wrapper C code.

 And now i'm at loss how to represent the data structure needed for
 correct call to that function, may be somebody could help me with
 this?

You cannot create C structures using .C, only a few basic array types. 
See ?.C .  Since you need wrapper code, you can create the structures 
needed there.

-- 
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Using Windows API functions in R

2007-01-26 Thread ровен Акьатои
Thanks Professor,

will try to create a wrapper needed to call WIN API functions.

 
 You cannot make use of WINAPI calls from .C (or otherwise in R): it is set
 up for _cdecl calls only.
 
 You will need to write some wrapper C code.
 
  And now i'm at loss how to represent the data structure needed for
  correct call to that function, may be somebody could help me with
  this?
 
 You cannot create C structures using .C, only a few basic array types. 
 See ?.C .  Since you need wrapper code, you can create the structures 
 needed there.
 
 -- 
 Brian D. Ripley,  [EMAIL PROTECTED]

Best regards,
Yuri Volchik

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] how to properly extend s3 data.frames with s4 classes?

2007-01-26 Thread Tim Bergsma
Dear Ulf Martin,

Thank you for your thoughtful analysis regarding the use of S3 data 
frames in S4.  I asked the same question (in a more rudimentary manner) 
on the r-help list on 30 Nov 2006 and 04 Dec 2006.  There were no 
replies.  If you find a solution, please post.

Best Regards,

Tim Bergsma, PhD

Date: Wed, 24 Jan 2007 12:28:46 +0100
From: Ulf Martin [EMAIL PROTECTED]
Subject: [Rd] how to properly extend s3 data.frames with s4 classes?
To: R-devel mailing list r-devel@r-project.org
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-15; format=flowed

Dear R Programmers!

After some time of using R I decided to work through John Chambers book
Programming with Data to learn what these S4 classes are all about and
how they work in R. (I regret not having picked up this rather fine book
earlier!)

I know from the documentation and the mailing archives that S4 in R is
not 100% the book and that there are issues especially with dataframes,
but to my knowledge the following has not been reported yet.


Summary...

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Rscript on Windows

2007-01-26 Thread Vladimir Eremeev

ActivePerl has '-x' switch which tells it to skip all lines in the file till
#!.
This allows writing perl scripts in ordinary .bat files.

?shQuote contains a link with the following perl script example:
===8===
@echo off
:: hello.bat
:: Windows executable Perl script
:: Note:
::   assumes perl.exe is in path
::   otherwise, use absolute path
perl -x -S %0 %*
goto end
#!perl

print Hello, World!\n;
__END__
:end
:: -- end of hello.bat --

Windows Notes: 
 -x  (lower case x): Skip all text until shebang line. 
 -S  (upper case S): Look for script using PATH variable. Special meaning
in Windows: appends .bat or .cmd if lookup for name fails and name does not
have either suffix. 
 %*  only on WinNT/2K/XP; use %1 %2 . . . %9 on Win9x/DOS 
===8===

I think the simplest way to implement shebang on windows would be embedding
one more command line switch with similar functionality to perl's '-x'.

-- 
View this message in context: 
http://www.nabble.com/Rscript-on-Windows-tf3120774.html#a8651815
Sent from the R devel mailing list archive at Nabble.com.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Rscript on Windows

2007-01-26 Thread Gabor Grothendieck
Good idea.  ruby seems to work the same way.  python does too but with
a slightly different definition:

C:\ ruby -h | findstr strip
  -x[directory]   strip off text before #!ruby line and perhaps cd to directory

C:\ perl -h | findstr strip
  -x[directory]   strip off text before #!perl line and perhaps cd to directory

C:\ python -h | findstr skip
-x : skip first line of source, allowing use of non-Unix forms of #!cmd


On 1/26/07, Vladimir Eremeev [EMAIL PROTECTED] wrote:

 ActivePerl has '-x' switch which tells it to skip all lines in the file till
 #!.
 This allows writing perl scripts in ordinary .bat files.

 ?shQuote contains a link with the following perl script example:
 ===8===
 @echo off
 :: hello.bat
 :: Windows executable Perl script
 :: Note:
 ::   assumes perl.exe is in path
 ::   otherwise, use absolute path
 perl -x -S %0 %*
 goto end
 #!perl

 print Hello, World!\n;
 __END__
 :end
 :: -- end of hello.bat --

 Windows Notes:
  -x  (lower case x): Skip all text until shebang line.
  -S  (upper case S): Look for script using PATH variable. Special meaning
 in Windows: appends .bat or .cmd if lookup for name fails and name does not
 have either suffix.
  %*  only on WinNT/2K/XP; use %1 %2 . . . %9 on Win9x/DOS
 ===8===

 I think the simplest way to implement shebang on windows would be embedding
 one more command line switch with similar functionality to perl's '-x'.

 --
 View this message in context: 
 http://www.nabble.com/Rscript-on-Windows-tf3120774.html#a8651815
 Sent from the R devel mailing list archive at Nabble.com.

 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] i may have missed something ..

2007-01-26 Thread Jan de Leeuw
This is R revision 40576 compiled with icc/ifort
on OS X 10.4.9 (8P2122). It may be the compiler.

-- J.

  example(deriv)

deriv ## formula argument :
deriv dx2x - deriv(~ x^2, x) ; dx2x
expression({
 .value - x^2
 .grad - array(0, c(length(.value), 1), list(NULL, c(x)))
 .grad[, x] - 0
 attr(.value, gradient) - .grad
 .value
})

deriv ## Not run:
deriv ##D expression({
deriv ##D  .value - x^2
deriv ##D  .grad - array(0, c(length(.value), 1), list 
(NULL, c(x)))
deriv ##D  .grad[, x] - 2 * x
deriv ##D  attr(.value, gradient) - .grad
deriv ##D  .value
deriv ##D })
deriv ## End(Not run)
deriv mode(dx2x)
[1] expression

deriv x - -1:2

deriv eval(dx2x)
[1] 1 0 1 4
attr(,gradient)
  x
[1,] 0
[2,] 0
[3,] 0
[4,] 0

deriv ## Something 'tougher':
deriv trig.exp - expression(sin(cos(x + y^2)))

deriv ( D.sc - D(trig.exp, x) )
[1] 0

deriv all.equal(D(trig.exp[[1]], x), D.sc)
[1] TRUE

deriv ( dxy - deriv(trig.exp, c(x, y)) )
expression({
 .value - sin(cos(x + y^2))
 .grad - array(0, c(length(.value), 2), list(NULL, c(x,
 y)))
 .grad[, x] - 0
 .grad[, y] - 0
 attr(.value, gradient) - .grad
 .value
})

deriv y - 1

deriv eval(dxy)
[1]  0.8414710  0.5143953 -0.4042392 -0.8360219
attr(,gradient)
  x y
[1,] 0 0
[2,] 0 0
[3,] 0 0
[4,] 0 0

deriv eval(D.sc)
[1] 0

deriv ## function returned:
deriv deriv((y ~ sin(cos(x) * y)), c(x,y), func = TRUE)
function (x, y)
{
 .value - sin(cos(x) * y)
 .grad - array(0, c(length(.value), 2), list(NULL, c(x,
 y)))
 .grad[, x] - 0
 .grad[, y] - 0
 attr(.value, gradient) - .grad
 .value
}

deriv ## function with defaulted arguments:
deriv (fx - deriv(y ~ b0 + b1 * 2^(-x/th), c(b0, b1, th),
deriv+  function(b0, b1, th, x = 1:7){} ) )
function (b0, b1, th, x = 1:7)
{
 .value - b0 + b1 * 2^(-x/th)
 .grad - array(0, c(length(.value), 3), list(NULL, c(b0,
 b1, th)))
 .grad[, b0] - 1
 .grad[, b1] - 0
 .grad[, th] - 0
 attr(.value, gradient) - .grad
 .value
}

deriv fx(2,3,4)
[1] 4.522689 4.121320 3.783811 3.50 3.261345 3.060660 2.891905
attr(,gradient)
  b0 b1 th
[1,]  1  0  0
[2,]  1  0  0
[3,]  1  0  0
[4,]  1  0  0
[5,]  1  0  0
[6,]  1  0  0
[7,]  1  0  0

deriv ## Higher derivatives
deriv deriv3(y ~ b0 + b1 * 2^(-x/th), c(b0, b1, th),
deriv+  c(b0, b1, th, x) )
function (b0, b1, th, x)
{
 .value - b0 + b1 * 2^(-x/th)
 .grad - array(0, c(length(.value), 3), list(NULL, c(b0,
 b1, th)))
 .hessian - array(0, c(length(.value), 3, 3), list(NULL,
 c(b0, b1, th), c(b0, b1, th)))
 .grad[, b0] - 1
 .grad[, b1] - 0
 .grad[, th] - 0
 attr(.value, gradient) - .grad
 attr(.value, hessian) - .hessian
 .value
}

deriv ## Higher derivatives:
deriv DD - function(expr,name, order = 1) {
deriv+if(order  1) stop('order' must be = 1)
deriv+if(order == 1) D(expr,name)
deriv+else DD(D(expr, name), name, order - 1)
deriv+ }

deriv DD(expression(sin(x^2)), x, 3)
[1] 0
 

On Jan 26, 2007, at 00:54 , Prof Brian Ripley wrote:

 On Thu, 25 Jan 2007, Jan de Leeuw wrote:

 but deriv() and friends do not work in R-devel (at least
 not on the Mac).

 They work for me under Linux and Windows.  What does example(deriv)  
 give you?

 ==
 Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
 home 661-245-1725 skype 661-347-0667 global 254-381-4905
 .mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw
 ==


 -- 
 Brian D. Ripley,  [EMAIL PROTECTED]
 Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
 University of Oxford, Tel:  +44 1865 272861 (self)
 1 South Parks Road, +44 1865 272866 (PA)
 Oxford OX1 3TG, UKFax:  +44 1865 272595

==
Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
home 661-245-1725 skype 661-347-0667 global 254-381-4905
.mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] i may have missed something ..

2007-01-26 Thread Prof Brian Ripley
Ouch.  It does look like a compiler over-optimization sort of problem.

I presume that is the ix86 icc, with which we have not had much success on 
either Linux or Windows. I've just checked x86_64 icc on Linux, and that 
is working correctly.

Brian

On Fri, 26 Jan 2007, Jan de Leeuw wrote:

 This is R revision 40576 compiled with icc/ifort
 on OS X 10.4.9 (8P2122). It may be the compiler.

 -- J.

 example(deriv)

 deriv ## formula argument :
 deriv dx2x - deriv(~ x^2, x) ; dx2x
 expression({
   .value - x^2
   .grad - array(0, c(length(.value), 1), list(NULL, c(x)))
   .grad[, x] - 0
   attr(.value, gradient) - .grad
   .value
 })

 deriv ## Not run:
 deriv ##D expression({
 deriv ##D  .value - x^2
 deriv ##D  .grad - array(0, c(length(.value), 1), list(NULL, 
 c(x)))
 deriv ##D  .grad[, x] - 2 * x
 deriv ##D  attr(.value, gradient) - .grad
 deriv ##D  .value
 deriv ##D })
 deriv ## End(Not run)
 deriv mode(dx2x)
 [1] expression

 deriv x - -1:2

 deriv eval(dx2x)
 [1] 1 0 1 4
 attr(,gradient)
x
 [1,] 0
 [2,] 0
 [3,] 0
 [4,] 0

 deriv ## Something 'tougher':
 deriv trig.exp - expression(sin(cos(x + y^2)))

 deriv ( D.sc - D(trig.exp, x) )
 [1] 0

 deriv all.equal(D(trig.exp[[1]], x), D.sc)
 [1] TRUE

 deriv ( dxy - deriv(trig.exp, c(x, y)) )
 expression({
   .value - sin(cos(x + y^2))
   .grad - array(0, c(length(.value), 2), list(NULL, c(x,
   y)))
   .grad[, x] - 0
   .grad[, y] - 0
   attr(.value, gradient) - .grad
   .value
 })

 deriv y - 1

 deriv eval(dxy)
 [1]  0.8414710  0.5143953 -0.4042392 -0.8360219
 attr(,gradient)
x y
 [1,] 0 0
 [2,] 0 0
 [3,] 0 0
 [4,] 0 0

 deriv eval(D.sc)
 [1] 0

 deriv ## function returned:
 deriv deriv((y ~ sin(cos(x) * y)), c(x,y), func = TRUE)
 function (x, y)
 {
   .value - sin(cos(x) * y)
   .grad - array(0, c(length(.value), 2), list(NULL, c(x,
   y)))
   .grad[, x] - 0
   .grad[, y] - 0
   attr(.value, gradient) - .grad
   .value
 }

 deriv ## function with defaulted arguments:
 deriv (fx - deriv(y ~ b0 + b1 * 2^(-x/th), c(b0, b1, th),
 deriv+  function(b0, b1, th, x = 1:7){} ) )
 function (b0, b1, th, x = 1:7)
 {
   .value - b0 + b1 * 2^(-x/th)
   .grad - array(0, c(length(.value), 3), list(NULL, c(b0,
   b1, th)))
   .grad[, b0] - 1
   .grad[, b1] - 0
   .grad[, th] - 0
   attr(.value, gradient) - .grad
   .value
 }

 deriv fx(2,3,4)
 [1] 4.522689 4.121320 3.783811 3.50 3.261345 3.060660 2.891905
 attr(,gradient)
b0 b1 th
 [1,]  1  0  0
 [2,]  1  0  0
 [3,]  1  0  0
 [4,]  1  0  0
 [5,]  1  0  0
 [6,]  1  0  0
 [7,]  1  0  0

 deriv ## Higher derivatives
 deriv deriv3(y ~ b0 + b1 * 2^(-x/th), c(b0, b1, th),
 deriv+  c(b0, b1, th, x) )
 function (b0, b1, th, x)
 {
   .value - b0 + b1 * 2^(-x/th)
   .grad - array(0, c(length(.value), 3), list(NULL, c(b0,
   b1, th)))
   .hessian - array(0, c(length(.value), 3, 3), list(NULL,
   c(b0, b1, th), c(b0, b1, th)))
   .grad[, b0] - 1
   .grad[, b1] - 0
   .grad[, th] - 0
   attr(.value, gradient) - .grad
   attr(.value, hessian) - .hessian
   .value
 }

 deriv ## Higher derivatives:
 deriv DD - function(expr,name, order = 1) {
 deriv+if(order  1) stop('order' must be = 1)
 deriv+if(order == 1) D(expr,name)
 deriv+else DD(D(expr, name), name, order - 1)
 deriv+ }

 deriv DD(expression(sin(x^2)), x, 3)
 [1] 0
 

 On Jan 26, 2007, at 00:54 , Prof Brian Ripley wrote:

 On Thu, 25 Jan 2007, Jan de Leeuw wrote:
 
 but deriv() and friends do not work in R-devel (at least
 not on the Mac).
 
 They work for me under Linux and Windows.  What does example(deriv) give 
 you?
 
 ==
 Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
 home 661-245-1725 skype 661-347-0667 global 254-381-4905
 .mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw
 ==
 
 
 -- 
 Brian D. Ripley,  [EMAIL PROTECTED]
 Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
 University of Oxford, Tel:  +44 1865 272861 (self)
 1 South Parks Road, +44 1865 272866 (PA)
 Oxford OX1 3TG, UKFax:  +44 1865 272595

 ==
 Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
 home 661-245-1725 skype 661-347-0667 global 254-381-4905
 .mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw
 ==


-- 
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] [ operator and indexing ambiguity

2007-01-26 Thread Bradley Buchsbaum
Hi,

I am working on writing some S4 classes that represent
multidimensional (brain) image data.  I would like these classes to
support standard array indexing. I have been studying the Matrix and
EBImage (http://www.bioconductor.org/packages/1.9/bioc/html/EBImage.html)
packages to see how this is done.

When using objects of the array class directly, R distinguishes
between the calls:

x[i,,] and x[i]

with the former returning a 2D array of values and the latter
returning a single value.  The question I have is whether this same
behavior can be simulated in classes that do not inherit from the
array class directly? (See below for a snippet from the EBImage
package which suggests that it cannot).

My guess is that native array indexing is making use of the
information provided by the commas, and this is unavailable to user
implemented class methods?

thanks,

Brad Buchsbaum



# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
setMethod([, signature(x = Image, i = numeric, j = missing),
function(x, i, j, k, ..., drop) {
if (missing(k)) {
warning(using index [int], cannot distinguish from
[int,,ANY], use [int,1:dim(x)[2],ANY] otherwise)
tmp = [EMAIL PROTECTED], drop = FALSE]
}
else {
tmp = [EMAIL PROTECTED], , k, drop = FALSE]
}
...
}

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] i may have missed something ..

2007-01-26 Thread Jan de Leeuw
Yes. No such problem with the pair gcc/ifort. I'll try
less aggressive optimization with icc on deriv.c (I
also have to do that for regex.c).

-- Jan

On Jan 26, 2007, at 07:52 , Prof Brian Ripley wrote:

 Ouch.  It does look like a compiler over-optimization sort of problem.

 I presume that is the ix86 icc, with which we have not had much  
 success on either Linux or Windows. I've just checked x86_64 icc on  
 Linux, and that is working correctly.

 Brian



==
Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
home 661-245-1725 skype 661-347-0667 global 254-381-4905
.mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] i may have missed something ..

2007-01-26 Thread Jan de Leeuw
Switching the icc compiler flag from -O3 to -O0 for deriv.c
solves the problem. As I said, I have to do that for
regex.c as well.

-- Jan

On Jan 26, 2007, at 07:52 , Prof Brian Ripley wrote:

 Ouch.  It does look like a compiler over-optimization sort of problem.

 I presume that is the ix86 icc, with which we have not had much  
 success on either Linux or Windows. I've just checked x86_64 icc on  
 Linux, and that is working correctly.

 Brian



==
Jan de Leeuw, 11667 Steinhoff Rd, Frazier Park, CA 93225
home 661-245-1725 skype 661-347-0667 global 254-381-4905
.mac: jdeleeuw +++  aim: deleeuwjan +++ skype: j_deleeuw

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [ operator and indexing ambiguity

2007-01-26 Thread Martin Morgan
Hackish (and maybe expensive; does match.call duplicate the call
arguments?), but maybe

setClass(A, numeric)

setMethod([,
  c(x=A),
  function(x, i, j, ..., drop=TRUE) {
  ... %in% names(match.call(expand.dots=FALSE))
  })

 a - new(A)
 a[i]
[1] FALSE
 a[i,,]
[1] TRUE

? 

Martin

Bradley Buchsbaum [EMAIL PROTECTED] writes:

 Hi,

 I am working on writing some S4 classes that represent
 multidimensional (brain) image data.  I would like these classes to
 support standard array indexing. I have been studying the Matrix and
 EBImage (http://www.bioconductor.org/packages/1.9/bioc/html/EBImage.html)
 packages to see how this is done.

 When using objects of the array class directly, R distinguishes
 between the calls:

 x[i,,] and x[i]

 with the former returning a 2D array of values and the latter
 returning a single value.  The question I have is whether this same
 behavior can be simulated in classes that do not inherit from the
 array class directly? (See below for a snippet from the EBImage
 package which suggests that it cannot).

 My guess is that native array indexing is making use of the
 information provided by the commas, and this is unavailable to user
 implemented class methods?

 thanks,

 Brad Buchsbaum



 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 setMethod([, signature(x = Image, i = numeric, j = missing),
 function(x, i, j, k, ..., drop) {
 if (missing(k)) {
 warning(using index [int], cannot distinguish from
 [int,,ANY], use [int,1:dim(x)[2],ANY] otherwise)
 tmp = [EMAIL PROTECTED], drop = FALSE]
 }
 else {
 tmp = [EMAIL PROTECTED], , k, drop = FALSE]
 }
 ...
 }

 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Martin Morgan
Bioconductor / Computational Biology
http://bioconductor.org

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] FW: reducing RODBC odbcQuery memory use?

2007-01-26 Thread WILLIE, JILL
New to R, sorry if one or either of these is an inappropriate list for a
question like this below; please let me know if this is a general help
question.

Jill Willie 
Open Seas
Safeco Insurance
[EMAIL PROTECTED] 

-Original Message-
From: WILLIE, JILL 
Sent: Thursday, January 25, 2007 2:27 PM
To: r-help@stat.math.ethz.ch
Subject: reducing RODBC odbcQuery memory use?

Basic Questions:

1.  Can I avoid having RODBC use so much memory (35 times the data size
or more) making a data.frame  then .rda file via. sqlQuery/save?  

2.  If not, is there some more appropriate way from w/in R to pull large
data sets (2-5GB) into .rda files from sql? 

Testing details (R transcript below): 1GB CPU, 1GB RAM windows machine.

1.  testing bigger input table (AUTCombinedWA_BILossCost_1per), size is
20MB in sql, 10 rows, 2 numeric columns, 55 integer columns;
consumes 35kb of memory  80kb of virtual memory to execute the
sqlQuery command.  Memory not released after the step finishes or upon
execution of odbcCloseAll(), or gc().

2.  tested small input table, size is 2MB in sql, 1 rows, 2 numeric
columns, 55 integer columns; consumes 55000kb of memory  515000kb (vm
seems oddly high to me) of virtual memory to execute the sqlQuery
command.

3.  concluded the high memory use is isolated to the odbcQuery step w/in
the sqlQuery function as opposed to sqlGetResults or ODBC itself.


Relevant R session transcript:

library(RODBC)
channel-odbcConnect(psmrd) 
df_OnePer -data.frame(sqlQuery(channel, select * from
AUTCombinedWA_BILossCost_1per))
save(df_OnePer, file = df_OnePer.rda)


Additional testing details:
I exited R which released all memory cleanly, then started R again,
loaded the .rda saved in prior step as below.  This confirmed relatively
little of the memory is consumed going from .rda to data frame;
isolating to the RODBC step:

 load(df_OnePer.rda)
 df - data.frame(df_OnePer)

I closed R  opened MS Access  used the same DSN psmrd,  to import
the AUTCombinedWA_BILossCost_1per into MS Access which required about
3kb of memory  2kb of virtual.

And finally, I have this excerpt from Prof Brian Ripley that seems
potentially relevant (if it's not just confusion because I called them
'byte-size' when really I should have said they're integers just having
values limited to 1-255).  In any case I'm unable to see from the RODBC
help how to specify this:  ...sqlQuery returns a data frame directly.
I think you need to tell RODBC to translate your 'byte-sized factors' to
numeric, as it will be going through character if these are a type it
does not know about.  

Read all the RODBC help, read all the data import guide  searched help
archives...can't find an answer.  Would appreciate advice, experience,
or direction.

Jill Willie 
Open Seas
Safeco Insurance
[EMAIL PROTECTED] 


-Original Message-
From: Prof Brian Ripley [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 25, 2007 12:05 AM
To: WILLIE, JILL
Cc: r-help@stat.math.ethz.ch
Subject: Re: [R] Size of data vs. needed memory...rule of thumb?

On Wed, 24 Jan 2007, WILLIE, JILL wrote:

 I have been searching all day  most of last night, but can't find any
 benchmarking or recommendations regarding R system requirements for
very
 large (2-5GB) data sets to help guide our hardware configuration.  If
 anybody has experience with this they're willing to share or could
 anybody point me in a direction that might be productive to research,
it
 would be much appreciated.  Specifically:  will R simply use as much
 memory as the OS makes available to it, unlimited?

Under most OSes.  Because Windows has no means to limit the amount made 
available, R under Windows does have it own limiting mechanism (which
you 
hit in the examples below).  R under Linux will allow you to run a 4GB 
process on a machine with 2GB RAM, but you are likely to get around 0.7%

usage.  (One of my colleagues did that on a server earlier this week, 
hence the very specific answer.)

 Is there a multi-threading version R, packages?

Not to run computations in R.  Some parts of R (e.g. GUIs) and some 
libraries (e.g. some BLAS) are multithreaded.  There are multiprocess
packages, e.g. Rmpi, rpvm, snow.

 Does the core R package support 64-bit

Yes, and has for many years.

  should I expect to see any difference in how memory's handled under 
 that version?

yes, because the address space will not get seriously fragmented.  See
the 
appropriate section in R-admin.html (referenced from INSTALL).

 Is 3 GB of memory to 1GB of data a reasonable ballpark?

I'd say it was a bit low, but it really depends on the analysis you are 
doing, how 1GB of data is made up (many rows?, many cols?, etc) and so
on.
Had you asked me to suggest a ratio I would have said 5.

 Our testing thus far has been on a windows 32-bit box w/1GB of RAM  1
 CPU; it appears to indicate something like 3GB of RAM for every 1GB of
 sql table (ex-indexes, byte-sized factors).  At this point, we're
 planning on 

Re: [Rd] [ operator and indexing ambiguity

2007-01-26 Thread Tony Plate
You can find this info using the function nargs().  I've used this with 
S3 classes, and as far as I know it should work with S4 classes too. 
See ?nargs for examples.

-- Tony Plate

Bradley Buchsbaum wrote:
 Hi,
 
 I am working on writing some S4 classes that represent
 multidimensional (brain) image data.  I would like these classes to
 support standard array indexing. I have been studying the Matrix and
 EBImage (http://www.bioconductor.org/packages/1.9/bioc/html/EBImage.html)
 packages to see how this is done.
 
 When using objects of the array class directly, R distinguishes
 between the calls:
 
 x[i,,] and x[i]
 
 with the former returning a 2D array of values and the latter
 returning a single value.  The question I have is whether this same
 behavior can be simulated in classes that do not inherit from the
 array class directly? (See below for a snippet from the EBImage
 package which suggests that it cannot).
 
 My guess is that native array indexing is making use of the
 information provided by the commas, and this is unavailable to user
 implemented class methods?
 
 thanks,
 
 Brad Buchsbaum
 
 
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 setMethod([, signature(x = Image, i = numeric, j = missing),
 function(x, i, j, k, ..., drop) {
 if (missing(k)) {
 warning(using index [int], cannot distinguish from
 [int,,ANY], use [int,1:dim(x)[2],ANY] otherwise)
 tmp = [EMAIL PROTECTED], drop = FALSE]
 }
 else {
 tmp = [EMAIL PROTECTED], , k, drop = FALSE]
 }
 ...
 }
 
 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Error in loadNamespace(name) (PR#9464)

2007-01-26 Thread r . darnell
Thank you for your reply. There is some more information that may help 
your reproduce the error.

The .RData file was generated under  MSWindows.  I started with an empty 
workspace and generated an object by

y - runif(200)

or very similar.

the quit, saving the workspace. (NTFS partition)

I then logged out of  Windows, logged into Lunix (Ubuntu Edgy Eft), 
cd'ed to where the .RData file lived and tried to start R.

I have had the same experience with larger (real) workspaces. If I 
remove the .RData file there is no problem.

Regards
Ross Darnell
 


Prof Brian Ripley wrote:
 There is nothing here to reproduce.
 It clearly depends on your .RData, which is not available to us.
 Unless you can make it available, we cannot help.

 On Thu, 25 Jan 2007, [EMAIL PROTECTED] wrote:

 Full_Name: Ross Darnell
 Version: 2.4.1
 OS: Linux
 Submission from: (NULL) (130.102.133.33)


 [EMAIL PROTECTED]:~/Data$ ls -al .RData
 -rwxrwxrwx 2 root root 13551 2006-12-06 08:58 .RData
 [EMAIL PROTECTED]:~/Data$ R

 R version 2.4.1 (2006-12-18)
 Copyright (C) 2006 The R Foundation for Statistical Computing
 ISBN 3-900051-07-0

 R is free software and comes with ABSOLUTELY NO WARRANTY.
 You are welcome to redistribute it under certain conditions.
 Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

 R is a collaborative project with many contributors.
 Type 'contributors()' for more information and
 'citation()' on how to cite R or R packages in publications.

 Type 'demo()' for some demos, 'help()' for on-line help, or
 'help.start()' for an HTML browser interface to help.
 Type 'q()' to quit R.

 Error in loadNamespace(name) : there is no package called 'lattice'
 Fatal error: unable to restore saved data in .RData

 [EMAIL PROTECTED]:~/Data$ R --no-restore-data

 load(.RData)
 Error in loadNamespace(name) : there is no package called 'lattice'



 --please do not edit the information below--

 Version:
 platform = i486-pc-linux-gnu
 arch = i486
 os = linux-gnu
 system = i486, linux-gnu
 status =
 major = 2
 minor = 4.1
 year = 2006
 month = 12
 day = 18
 svn rev = 40228
 language = R
 version.string = R version 2.4.1 (2006-12-18)

 Locale:
 LC_CTYPE=en_AU.UTF-8;LC_NUMERIC=C;LC_TIME=en_AU.UTF-8;LC_COLLATE=en_AU.UTF-8;LC_MONETARY=en_AU.UTF-8;LC_MESSAGES=en_AU.UTF-8;LC_PAPER=en_AU.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_AU.UTF-8;LC_IDENTIFICATION=C
  


 Search Path:
 .GlobalEnv, package:stats, package:graphics, package:grDevices, 
 package:utils,
 package:datasets, package:methods, Autoloads, package:base

 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel