[Rd] Closed-source non-free ParallelR ?

2009-04-22 Thread Matthew Dowle
Dear R-devel,

REvolution appear to be offering ParallelR only when bundled with their R 
Enterprise edition.  As such it appears to be non-free and closed source.
http://www.revolution-computing.com/products/parallel-r.php

Since R is GPL and not LGPL, is this a breach of the GPL ?

Below is the "GPL and ParallelR" thread from their R forum.

mdowle >  It appears that ParallelR (packages foreach and iterators) is only 
available bundled with the Enterprise edition. Since R is GPL, and ParallelR is 
derived from R, should ParallelR not also be GPL?  Regards, Matthew

revolution > Hello Matthew,  ParallelR consists of both proprietary and GPL 
packages.  The randomForest and snow libraries GPL licensed, whereas the other 
libraries we include have a commercial license(including 'foreach' and 
'iterators').  Stephen Weller

revolution > I wanted to expand on Stephen's reply. ParallelR is a suite of R 
packages, and it is well established that packages can be under a difference 
license than R itself (i.e. not the GPL). For example, package MCE is licensed 
under BSD, RColorBrewer is licensed under Apache, most of Bioconductor is under 
the Artistic license and some are under completely unique licenses (e.g. 
mclust). REvolution Computing developed all of the code in ParallelR (except 
for the bundled GPL packages Stephen mentions), and we decided to release it 
under our own license in REvolution R Enterprise.
That said, we do already release components of parallelR, such as the 
underlying engine, Networkspaces (also written by REvolution Computing) under 
an open source licence. Also, we are likely to release some other components 
including foreach and iterators, to CRAN soon.
David Smith
Director of Community, REvolution Computing 

mdowle > The examples you give (MCE, RColorBrewer, Bioconductor) are all 
available for free including the source code. Their licenses have been approved 
by the FSF. Free software and open source are the terms of work derived from 
GPL licensed software. REvolution's packages 'foreach' and 'iterators' are 
neither free or open source.  Can you provide a precedent for proprietary 
closed-source packages for R ?  Is your policy approved by the FSF ?
I don't object to REvolution. I am a fan of you making money from training 
courses, consultancy, support and binaries. These are all permitted by the GPL. 
However the GPL does not allow you to distribute work derived from R which is 
either closed source or non-free.
R is GPL, not LGPL.
The above is my personal understanding. I am now posting to r-devel to check, 
feel free to join the public debate there.

Regards, Matthew

[[alternative HTML version deleted]]

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


[Rd] build-aux missing in 2.9.0 packages (PR#13668)

2009-04-22 Thread michael . m . spiegel
Full_Name: Michael Spiegel
Version: 2.9.0
OS: linux
Submission from: (NULL) (128.143.137.189)


I think something was changed in the handling of the build-aux directory when
installing R packages.  The directory is no longer copied into the installation
directory.  I believe it was not on the list "approved" directories that are
copied into the install directory, so perhaps the better location for build-aux
is actually in inst/build-aux.  However, when I try that then inst/build-aux is
NOT copied into the installation directory.  If I try renaming inst/build-aux to
any other name (inst/config-aux), then the directory is copied over.  It appears
as if build-aux is not special enough to be copied over to the installation
directory, but too special for it to live in the /inst directory.  A consistent
strategy is preferable.

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


Re: [Rd] RFC: Ability to suppress 'locale' from sessionInfo

2009-04-22 Thread Friedrich Leisch
> On Tue, 21 Apr 2009 21:16:59 -0500,
> Kevin W (KW) wrote:

  > The printing of the locale information from sessionInfo is not very tidy.
  > Using toLatex(sessionInfo) pretty much guarantees "badness" from breaking
  > the margin boundary (though my version of TeX no longer reports such
  > errors).  A random example is here:
  > http://cran.r-project.org/web/packages/Matrix/vignettes/Design-issues.pdf

  > I find the locale information unnecessary and right now I hack this with
  > si = sessionInfo()
  > si$locale = "US"
  > toLatex(si)

  > I would like to be able to do something a bit cleaner, for example
  > sessionInfo(locale=FALSE)

  > For what it's worth, I don't think that early versions of sessionInfo
  > printed information about the locale.

It went in on 2006-05-26, so it's bben there for some time now.
  

  > Discussion welcome.

I agree that it doesn't look nice in latex documents, but it is very
handy in bug reports.

Are there any objections if we add a locale argument to the toLatex()
method and let that default to FALSE?

Best,
Fritz

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


Re: [Rd] RFC: Ability to suppress 'locale' from sessionInfo

2009-04-22 Thread Tobias Verbeke

Friedrich Leisch wrote:

On Tue, 21 Apr 2009 21:16:59 -0500,
Kevin W (KW) wrote:


  > The printing of the locale information from sessionInfo is not very tidy.
  > Using toLatex(sessionInfo) pretty much guarantees "badness" from breaking
  > the margin boundary (though my version of TeX no longer reports such
  > errors).  A random example is here:
  > http://cran.r-project.org/web/packages/Matrix/vignettes/Design-issues.pdf

  > I find the locale information unnecessary and right now I hack this with
  > si = sessionInfo()
  > si$locale = "US"
  > toLatex(si)

  > I would like to be able to do something a bit cleaner, for example
  > sessionInfo(locale=FALSE)

  > For what it's worth, I don't think that early versions of sessionInfo
  > printed information about the locale.

It went in on 2006-05-26, so it's bben there for some time now.
  


  > Discussion welcome.

I agree that it doesn't look nice in latex documents, but it is very
handy in bug reports.

Are there any objections if we add a locale argument to the toLatex()
method and let that default to FALSE?


No objection although I would not be against letting it default to TRUE
to preserve current behaviour.

One improvement in the locale information that would make the LaTeX look 
much nicer would be to add a space after the separator, i.e.


item1; item2; item3

instead of

item1;item2;item3

That is for me more important than having the option to include locale 
info or not as without such a change I found no way to prevent the 
locale information to run into the margin (and off the page) of the 
resulting LaTeX document and that is esthetically much more displeasing

than the mere presence of the locale information.

Best,
Tobias

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


Re: [Rd] RFC: Ability to suppress 'locale' from sessionInfo

2009-04-22 Thread Martin Maechler
> "TobiasV" == Tobias Verbeke 
> on Wed, 22 Apr 2009 09:57:30 +0200 writes:

TobiasV> Friedrich Leisch wrote:
>>> On Tue, 21 Apr 2009 21:16:59 -0500,
>>> Kevin W (KW) wrote:
>> 
>> > The printing of the locale information from sessionInfo is not very 
tidy.
>> > Using toLatex(sessionInfo) pretty much guarantees "badness" from 
breaking
>> > the margin boundary (though my version of TeX no longer reports such
>> > errors).  A random example is here:
>> > 
http://cran.r-project.org/web/packages/Matrix/vignettes/Design-issues.pdf
>> 
>> > I find the locale information unnecessary and right now I hack this 
with
>> > si = sessionInfo()
>> > si$locale = "US"
>> > toLatex(si)
>> 
>> > I would like to be able to do something a bit cleaner, for example
>> > sessionInfo(locale=FALSE)
>> 
>> > For what it's worth, I don't think that early versions of sessionInfo
>> > printed information about the locale.
>> 
>> It went in on 2006-05-26, so it's bben there for some time now.
>> 
>> 
>> > Discussion welcome.
>> 
>> I agree that it doesn't look nice in latex documents, but it is very
>> handy in bug reports.
>> 
>> Are there any objections if we add a locale argument to the toLatex()
>> method and let that default to FALSE?

TobiasV> No objection although I would not be against
TobiasV> letting it default to TRUE to preserve current behaviour.

I agree with setting the default to keep the current behavior.
As Fritz mentioned, there situations where the locale
(information) is of quite some importance.  As we know that
Sweave is used in quite a few circumstances with automatic
report generation, of which in *some* cases the locale may also
matter (and is desired to be visible),

I think we should not change the default behavior lightly
(apart from the extra spaces, see below).

TobiasV> One improvement in the locale information that would make the 
LaTeX look 
TobiasV> much nicer would be to add a space after the separator, i.e.

TobiasV> item1; item2; item3

TobiasV> instead of

TobiasV> item1;item2;item3

TobiasV> That is for me more important than having the
TobiasV> option to include locale info or not 

I agree very much; and indeed, adding the space after ";" is
trivial to achieve in the next version of  toLatex()'s
"sessionInfo" method, as well.

Martin

TobiasV> as without such a change I found no way to prevent the locale
TobiasV> information to run into the margin (and off the
TobiasV> page) of the resulting LaTeX document and that is
TobiasV> esthetically much more displeasing than the mere
TobiasV> presence of the locale information.

TobiasV> Best,
TobiasV> Tobias

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


[Rd] Installation fails (PR#13669)

2009-04-22 Thread Dieter . Kadelka
Full_Name: Dieter Kadelka
Version: 2.9.0
OS: Linux
Submission from: (NULL) (129.13.115.98)


Hallo,
my system is

  Linux mspcka3 2.6.5-7.276-default #1 Mon Jul 24 10:45:31 UTC 2006 i686
GNU/Linux
  with gcc-4.3.3

Installation of R-2.9.0 fails, R-2.8.1 is o.k.

After
  configure
  make

I get
...
WARNING: ignoring environment value of R_HOME
 >>> Building/Updating help pages for package 'tcltk'
 Formats: text html latex example
  TclInterface  texthtmllatex   example
  TkCommandstexthtmllatex   example
  TkWidgetcmds  texthtmllatex   example
  TkWidgets texthtmllatex   example
  tclServiceModetexthtmllatex   example
  tcltk-defunct texthtmllatex
  tcltk-package texthtmllatex
  tkProgressBar texthtmllatex   example
  tkStartGUItexthtmllatex
  tk_choose.dir texthtmllatex   example
  tk_choose.files   texthtmllatex   example
  tk_messageBox texthtmllatex
  tk_select.listtexthtmllatex
  tkpager   texthtmllatex
make[2]: Leaving directory `/install/R/R-2.9.0/src/library'
make[1]: Leaving directory `/install/R/R-2.9.0/src/library'
make[1]: Entering directory `/install/R/R-2.9.0/src/library/Recommended'
make[2]: Entering directory `/install/R/R-2.9.0/src/library/Recommended'
begin installing recommended package VR
WARNING: ignoring environment value of R_HOME
sh: Zeile 2: `python2.4': Ist kein gültiger Bezeichner.
make[2]: *** [VR.ts] Fehler 1
make[2]: Leaving directory `/install/R/R-2.9.0/src/library/Recommended'
make[1]: *** [recommended-packages] Fehler 2
make[1]: Leaving directory `/install/R/R-2.9.0/src/library/Recommended'
make: *** [stamp-recommended] Fehler 2

Invoking in bin
  ./R CMD config
I get (depending on the environment) either a segfault or

WARNING: ignoring environment value of R_HOME
sh: Zeile 2: `python2.4': Ist kein gültiger Bezeichner.

I tried the last R-patch, no difference.

I don't whether this problem is specific to my system or a general problem.

Thanks
Dieter Kadelka

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


[Rd] Clarification for options(OutDec)

2009-04-22 Thread Stephen Eglen

The documentation for the OutDec option says that it should be a
'one-character string'; yet, if I try a unicode character, it doesn't seem
to work.  Are unicode chars not counted as one-character?

This is within the mac GUI, but I also see this on linux boxes.

> x <- '\u00B7'
> nchar(x)
[1] 1
> options(OutDec=x)
Error in options(OutDec = x) : invalid value for 'OutDec'

I don't think I've changed anything with my LANG settings, but here it
is anyway:

> Sys.getenv('LANG')
 LANG 
"en_GB.UTF-8" 

> version
   _   
platform   i386-apple-darwin8.11.1 
arch   i386
os darwin8.11.1
system i386, darwin8.11.1  
status 
major  2   
minor  9.0 
year   2009
month  04  
day17  
svn rev48333   
language   R   
version.string R version 2.9.0 (2009-04-17)


Stephen

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


Re: [Rd] Installation fails (PR#13669)

2009-04-22 Thread Peter Dalgaard
dieter.kade...@stoch.uni-karlsruhe.de wrote:

> Hallo,
> my system is
> 
>   Linux mspcka3 2.6.5-7.276-default #1 Mon Jul 24 10:45:31 UTC 2006 i686
> GNU/Linux
>   with gcc-4.3.3

Which distribution? (A 2.5 year old kernel suggests Debian, but...)

> Installation of R-2.9.0 fails, R-2.8.1 is o.k.
> begin installing recommended package VR
> WARNING: ignoring environment value of R_HOME
> sh: Zeile 2: `python2.4': Ist kein gültiger Bezeichner.

Why is R_HOME set in your environment, and how did python get into this?
You could check your set of environment variables ("env" command) for
anything python-related.



> 
> Invoking in bin
>   ./R CMD config
> I get (depending on the environment) either a segfault or
> 
> WARNING: ignoring environment value of R_HOME
> sh: Zeile 2: `python2.4': Ist kein gültiger Bezeichner.
> 
> I tried the last R-patch, no difference.
> 
> I don't whether this problem is specific to my system or a general problem.

Probably mainly local to your system, but could be something fixable in
R if we forgot to control the PATH settings or suchlike.

-- 
   O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
~~ - (p.dalga...@biostat.ku.dk)  FAX: (+45) 35327907

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


Re: [Rd] Clarification for options(OutDec)

2009-04-22 Thread Prof Brian Ripley

On Wed, 22 Apr 2009, Stephen Eglen wrote:



The documentation for the OutDec option says that it should be a
'one-character string'; yet, if I try a unicode character, it doesn't seem
to work.  Are unicode chars not counted as one-character?


Correct, it has to be a single byte (and the comment dates from 
before UTF-8 was suported).




This is within the mac GUI, but I also see this on linux boxes.


x <- '\u00B7'
nchar(x)

[1] 1

options(OutDec=x)

Error in options(OutDec = x) : invalid value for 'OutDec'

I don't think I've changed anything with my LANG settings, but here it
is anyway:


Sys.getenv('LANG')

LANG
"en_GB.UTF-8"


version

  _
platform   i386-apple-darwin8.11.1
arch   i386
os darwin8.11.1
system i386, darwin8.11.1
status
major  2
minor  9.0
year   2009
month  04
day17
svn rev48333
language   R
version.string R version 2.9.0 (2009-04-17)


Stephen

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



--
Brian D. Ripley,  rip...@stats.ox.ac.uk
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] reversing xlim, ylim in smoothScatter

2009-04-22 Thread Shashikiran Ganesh
Hello,

I have found that in smoothScatter it is not possible to reverse the axes 
plotted (R version 2.9.0) .   It appears that this arises from the hard coding 
of xlim and ylim in smoothscatter.R in the lines :

x <- x[ xlim[1] <= x[,1] & x[,1] <=xlim[2], ]   (line  number 25)

and 

x <- x[ ylim[1] <= x[,2] & x[,2] <= ylim[2], ]  (line number 31)

This results in a x being NA if ylim[1] > ylim[2] which results in an error on 
executing
 map <- grDevices:::.smoothScatterCalcDensity(x, nbin, bandwidth)

To counter this problem, I replaced the above two lines by :
x <-x [min(xlim) <= x[,1] & x[,1] <= max(xlim), ]

and 
x <- x[min(ylim) <= x[,2] & x[,2] <= max(ylim), ]

and now smoothscatter reverses axes properly if xlim and/or ylim are provided 
with reversed ranges.   

I am wondering if this would break something somewhere else or if there is a 
better way to reverse the axes.     (I am a newbie in R programming although I 
have been using R for some astronomical plots and computations etc...) 

Thanks in advance for your comments!  
Shashi
--


 

Shashikiran Ganesh 

http://www.prl.res.in/~shashi 

http://cosmicdiary.org/blogs/shashikiran_ganesh/
Registered linux user number: 39542 (http://counter.li.org)


  Now surf faster and smarter ! Check out the new Firefox 3 - Yahoo! 
Edition http://downloads.yahoo.com/in/firefox/
[[alternative HTML version deleted]]

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


Re: [Rd] [R] bug when subtracting decimals?

2009-04-22 Thread Marc Schwartz

On Apr 22, 2009, at 4:49 AM, Martin Maechler wrote:


"MS" == Marc Schwartz 
   on Tue, 21 Apr 2009 08:06:46 -0500 writes:



   MS> It does look like R's behavior has changed since then. Using:

   MS> R version 2.9.0 Patched (2009-04-18 r48348)

   MS> on OSX:

   MS> # This first example has changed.
   MS> # Prior result was 414.94

print(4.145 * 100 + 0.5, digits = 20)

   MS> [1] 415


formatC(4.145 * 100 + 0.5, format = "E", digits = 20)

   MS> [1] "4.14943157E+02"


print(0.5 - 0.4 - 0.1, digits = 20)

   MS> [1] -2.77555756156289e-17


formatC(0.5 - 0.4 - 0.1, format = "E", digits = 20)

   MS> [1] "-2.77555756156289135106E-17"


   MS> What is interesting is that:


4.145 * 100 + 0.5 == 415

   MS> [1] FALSE


(4.145 * 100 + 0.5) - 415

   MS> [1] -5.684342e-14


all.equal(4.145 * 100 + 0.5, 415, 0)

   MS> [1] "Mean relative difference: 1.369721e-16"


   MS> So it would appear that in the first R example above, the  
print()

   MS> function has changed in a material fashion.

Yes  ((though not with *my* vote...)).
However, be aware that such calculations *are* platform
dependent, and IIUC, you are now using OS X wheras you've used
another platform previously, so some of the differences you see
may not be from changes in R, but from changes in the platform
you use.



Back to the topic of print():
Actually, also  format()  has changed similarly to my  
chagrin.

In older versions of R, you could ask it to give "too many" digits,
but now it gives "too few" even for maximal 'digits'.
{There is a good reason - which I don't recall - for the new behavior}

With as.character() it was worse (in older R versions): it gave
sometimes too little digits, sometimes too many, whereas now it
is at least consistently giving "too little".
But the effect is that in  ch <- as.character(x) ,
ch may contain duplicated entries even for unique x,
e.g., for x <- c(1, 1 + 4e-16)

BTW, one alternative to {"my"}  formatC() is  sprintf(),
and if you are really interested: The latest changes (in 2.10.0 R- 
devel),

ensuring unique factor levels actually now make use of
 sprintf("%.17g", .)
instead of as.character(.) exactly in order to ensure that
different numbers map to different strings necessarily.

BTW, we are way off topic for R-help, being in R-devel realm,
but as this thread has started here, we may keep it...

Martin Maechler, ETH Zurich




Thanks for replying Martin.

While I appreciate your comment above, I am moving to r-devel given  
the content. I agree that we are getting into low level subject matter.


FWIW, I grabbed my dusty old Dell laptop running Fedora 10 out of the  
closet and booted it up.


I get the same behavior as above there with R 2.8.1 patched.

So this would suggest that it it not an OS issue, but indeed a change  
in R.


I did try to build R 1.7.1 (the version used in the prior examples  
almost 6 years ago) on OSX, but it would appear that things have  
changed sufficiently in the intervening time frame as to preclude a  
successful build. I suspect much of the issue may be that Apple moved  
to Intel CPU's only about 4 years ago, so perhaps the configuration of  
older versions of R on OSX for Intel would require much work which is  
not worth it here. I would of course defer to others with more in- 
depth knowledge on that point.


I did not see anything in any of the *NEWS files, but the help for  
print() does reference:


Warning
Using too large a value of digits may lead to representation errors in  
the calculation of the number of significant digits and the decimal  
representation: these are likely for digits >= 16, and these possible  
errors are taken into account in assessing the numher of significant  
digits to be printed in that case.


Whereas earlier versions of R might have printed further digits for  
digits >= 16 on some platforms, they were not necessarily reliable.




While I don't want to re-visit what from your comments appears to be a  
sensitive subject, I do want to point out that this new behavior  
arguably masks aspects of the original subject matter of the thread  
from users. It also results in inconsistent behavior when compared to  
the output of the other floating point comparisons I used, which  
suggest that the result of the operation is not an integer, which will  
serve to further confuse folks.


Is there some reasonable compromise to be had here such that  
consistent and predictable behavior is possible in this realm,  
especially given how frequently this fundamental subject comes up?


We of course don't need examples as complicated as the one above and  
can use the more common:


> print(0.5 - 0.4, 20)

[1] 0.1



> 0.5 - 0.4 == 0.1

[1] FALSE





> all.equal(0.5 - 0.4, 0.1, 0)

[1] "Mean relative difference: 2.775558e-16"



So arguably, we are talking about boundary situations here.

Thanks Martin!


Marc

__
R-devel@r-project.org mailing list
https://stat.et

Re: [Rd] incorrect output and segfaults from sprintf with %*d (PR#13667)

2009-04-22 Thread maechler
> "vQ" == Wacek Kusnierczyk 
> on Tue, 21 Apr 2009 13:05:11 +0200 (CEST) writes:

vQ> Full_Name: Wacek Kusnierczyk
vQ> Version: 2.10.0 r48365
vQ> OS: Ubuntu 8.04 Linux 32bit
vQ> Submission from: (NULL) (129.241.110.141)


vQ> sprintf has a documented limit on strings included in the output using 
the
vQ> format '%s'.  It appears that there is a limit on the length of strings 
included
vQ> with, e.g., the format '%d' beyond which surprising things happen 
(output
vQ> modified for conciseness):

vQ> gregexpr('1', sprintf('%9000d', 1))
vQ> # [1] 9000 9801

vQ> gregexpr('1', sprintf('%9000d', 1))
vQ> # [1]  9000  9801 10602

vQ> gregexpr('1', sprintf('%9000d', 1))
vQ> # [1]  9000  9801 10602 11403

vQ> gregexpr('1', sprintf('%9000d', 1))
vQ> # [1]  9000  9801 10602 11403 12204

vQ> ...

vQ> Note that not only more than one '1' is included in the output, but 
also that
vQ> the same functional expression (no side effects used beyond the 
interface) gives
vQ> different results on each execution.  Analogous behaviour can be 
observed with
vQ> '%nd' where n > 8200.

vQ> The actual output above is consistent across separate sessions.

vQ> With sufficiently large field width values, R segfaults:

vQ> sprintf('%*d', 10^5, 1)
vQ> # *** caught segfault ***
vQ> # address 0xbfcfc000, cause 'memory not mapped'
vQ> # Segmentation fault


Thank you, Wacek.
That's all ``interesting''  ... unfortunately, 

my version of  'man 3 sprintf' contains

>> BUGS
>>Because sprintf() and vsprintf() assume an arbitrarily
>>long string, callers must be careful not to overflow the
>>actual space; this is often impossible to assure. Note
>>that the length of the strings produced is
>>locale-dependent and difficult to predict.  Use
>>snprintf() and vsnprintf() instead (or asprintf() and vasprintf).

(note the "impossible" part above)   
and we haven't used  snprintf() yet, probably because it
requires the  C99 C standard, and AFAIK, we have only relatively
recently started to more or less rely on C99 in the R sources.
   
More precisely, I see that some windows-only code relies on
snprintf() being available  whereas in at least on non-Windows
section, I read   /* we cannot assume snprintf here */

Now such platform dependency issues and corresponding configure
settings I do typically leave to other R-corers with a much
wider overview about platforms and their compilers and C libraries.
   

BTW,  
1) sprintf("%n %g", 1,1)   also seg.faults

2) Did you have a true use case where  the  8192  limit was an
   undesirable limit?

Martin   

vQ> sessionInfo()
vQ> # R version 2.10.0 Under development (unstable) (2009-04-20 r48365) 
vQ> # i686-pc-linux-gnu

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


Re: [Rd] Closed-source non-free ParallelR ?

2009-04-22 Thread Patrick Shields
I'm Pat Shields, one of the software engineers working on ParallelR.  I just
wanted to make two points: no R code or previously gpl'd code can be found
in any of the non-gpl packages in ParallelR.  I'm sure that the phrase
"derived works" is a legally subtle one, but all these packages include are
R and occasionally python scripts (as well as the standard text
documentation).  If these are derived works, doesn't that mean that any R
code is also, by extension, required to be GPL'd?  If not, is it including
these scripts in a package that forces the use of the GPL?

Also, I'm confused about your dimissal of the MCE example.  If that code was
a derivative work of R, how could it swap a GPL license for the BSD?  I
didn't think such a switch was possible.  If it was, I'd imagine a lot more
use of it, as a quick front project could make GPL software into BSD
software after which all changes could go on behind closed doors.

On Tue, Apr 21, 2009 at 7:38 PM, Matthew Dowle wrote:

> Dear R-devel,
>
> REvolution appear to be offering ParallelR only when bundled with their R
> Enterprise edition.  As such it appears to be non-free and closed source.
>http://www.revolution-computing.com/products/parallel-r.php
>
> Since R is GPL and not LGPL, is this a breach of the GPL ?
>
> Below is the "GPL and ParallelR" thread from their R forum.
>
> mdowle >  It appears that ParallelR (packages foreach and iterators) is
> only available bundled with the Enterprise edition. Since R is GPL, and
> ParallelR is derived from R, should ParallelR not also be GPL?  Regards,
> Matthew
>
> revolution > Hello Matthew,  ParallelR consists of both proprietary and GPL
> packages.  The randomForest and snow libraries GPL licensed, whereas the
> other libraries we include have a commercial license(including 'foreach' and
> 'iterators').  Stephen Weller
>
> revolution > I wanted to expand on Stephen's reply. ParallelR is a suite of
> R packages, and it is well established that packages can be under a
> difference license than R itself (i.e. not the GPL). For example, package
> MCE is licensed under BSD, RColorBrewer is licensed under Apache, most of
> Bioconductor is under the Artistic license and some are under completely
> unique licenses (e.g. mclust). REvolution Computing developed all of the
> code in ParallelR (except for the bundled GPL packages Stephen mentions),
> and we decided to release it under our own license in REvolution R
> Enterprise.
> That said, we do already release components of parallelR, such as the
> underlying engine, Networkspaces (also written by REvolution Computing)
> under an open source licence. Also, we are likely to release some other
> components including foreach and iterators, to CRAN soon.
> David Smith
> Director of Community, REvolution Computing
>
> mdowle > The examples you give (MCE, RColorBrewer, Bioconductor) are all
> available for free including the source code. Their licenses have been
> approved by the FSF. Free software and open source are the terms of work
> derived from GPL licensed software. REvolution's packages 'foreach' and
> 'iterators' are neither free or open source.  Can you provide a precedent
> for proprietary closed-source packages for R ?  Is your policy approved by
> the FSF ?
> I don't object to REvolution. I am a fan of you making money from training
> courses, consultancy, support and binaries. These are all permitted by the
> GPL. However the GPL does not allow you to distribute work derived from R
> which is either closed source or non-free.
> R is GPL, not LGPL.
> The above is my personal understanding. I am now posting to r-devel to
> check, feel free to join the public debate there.
>
> Regards, Matthew
>
>[[alternative HTML version deleted]]
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Pat Shields
Software Engineer
REvolution Computing
One Century Tower | 265 Church Street, Suite 1006
New Haven, CT  06510
P: 203-777-7442 x250 | www.revolution-computing.com

Check out our upcoming events schedule at
www.revolution-computing.com/events

[[alternative HTML version deleted]]

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


Re: [Rd] Closed-source non-free ParallelR ?

2009-04-22 Thread David M Smith
Patrick made all the points that I was going to make (thanks,
Patrick), but I wanted to reinforce one point that may be the source
of the confusion: ParallelR is not a modified version of R: ParallelR
is a suite of ordinary R packages that run on top of the R engine like
any other package. The R code and Python code in these packages were
written entirely by REvolution Computing staff (including Patrick),
and do not contain any code (derived or otherwise) from the R project.

In retrospect, the name ParallelR may be somewhat confusing in this sense...

# David Smith

On Wed, Apr 22, 2009 at 7:40 AM, Patrick Shields
 wrote:
> I'm Pat Shields, one of the software engineers working on ParallelR.  I just
> wanted to make two points: no R code or previously gpl'd code can be found
> in any of the non-gpl packages in ParallelR.  I'm sure that the phrase
> "derived works" is a legally subtle one, but all these packages include are
> R and occasionally python scripts (as well as the standard text
> documentation).  If these are derived works, doesn't that mean that any R
> code is also, by extension, required to be GPL'd?  If not, is it including
> these scripts in a package that forces the use of the GPL?
>
> Also, I'm confused about your dimissal of the MCE example.  If that code was
> a derivative work of R, how could it swap a GPL license for the BSD?  I
> didn't think such a switch was possible.  If it was, I'd imagine a lot more
> use of it, as a quick front project could make GPL software into BSD
> software after which all changes could go on behind closed doors.
>
> On Tue, Apr 21, 2009 at 7:38 PM, Matthew Dowle wrote:
>
>> Dear R-devel,
>>
>> REvolution appear to be offering ParallelR only when bundled with their R
>> Enterprise edition.  As such it appears to be non-free and closed source.
>>    http://www.revolution-computing.com/products/parallel-r.php
>>
>> Since R is GPL and not LGPL, is this a breach of the GPL ?
>>
>> Below is the "GPL and ParallelR" thread from their R forum.
>>
>> mdowle >  It appears that ParallelR (packages foreach and iterators) is
>> only available bundled with the Enterprise edition. Since R is GPL, and
>> ParallelR is derived from R, should ParallelR not also be GPL?  Regards,
>> Matthew
>>
>> revolution > Hello Matthew,  ParallelR consists of both proprietary and GPL
>> packages.  The randomForest and snow libraries GPL licensed, whereas the
>> other libraries we include have a commercial license(including 'foreach' and
>> 'iterators').  Stephen Weller
>>
>> revolution > I wanted to expand on Stephen's reply. ParallelR is a suite of
>> R packages, and it is well established that packages can be under a
>> difference license than R itself (i.e. not the GPL). For example, package
>> MCE is licensed under BSD, RColorBrewer is licensed under Apache, most of
>> Bioconductor is under the Artistic license and some are under completely
>> unique licenses (e.g. mclust). REvolution Computing developed all of the
>> code in ParallelR (except for the bundled GPL packages Stephen mentions),
>> and we decided to release it under our own license in REvolution R
>> Enterprise.
>> That said, we do already release components of parallelR, such as the
>> underlying engine, Networkspaces (also written by REvolution Computing)
>> under an open source licence. Also, we are likely to release some other
>> components including foreach and iterators, to CRAN soon.
>> David Smith
>> Director of Community, REvolution Computing
>>
>> mdowle > The examples you give (MCE, RColorBrewer, Bioconductor) are all
>> available for free including the source code. Their licenses have been
>> approved by the FSF. Free software and open source are the terms of work
>> derived from GPL licensed software. REvolution's packages 'foreach' and
>> 'iterators' are neither free or open source.  Can you provide a precedent
>> for proprietary closed-source packages for R ?  Is your policy approved by
>> the FSF ?
>> I don't object to REvolution. I am a fan of you making money from training
>> courses, consultancy, support and binaries. These are all permitted by the
>> GPL. However the GPL does not allow you to distribute work derived from R
>> which is either closed source or non-free.
>> R is GPL, not LGPL.
>> The above is my personal understanding. I am now posting to r-devel to
>> check, feel free to join the public debate there.
>>
>> Regards, Matthew
>>
>>        [[alternative HTML version deleted]]
>>
>> __
>> R-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
>
>
> --
> Pat Shields
> Software Engineer
> REvolution Computing
> One Century Tower | 265 Church Street, Suite 1006
> New Haven, CT  06510
> P: 203-777-7442 x250 | www.revolution-computing.com
>
> Check out our upcoming events schedule at
> www.revolution-computing.com/events
>
>        [[alternative HTML version deleted]]
>
> __
> R

[Rd] arima

2009-04-22 Thread Pierre Chaussé

Hi,

I have a suggestion for the fonction arima and arima0. I think you 
should not call the constant an intercept because it creates confusion.  
It is not really an intercept but a mean. For an AR(1) the intercept mu 
should be defined as:


X(t)=mu + phi X(t-1) + e(t)

What you call intercept mu is rather defined as

(X(t)-mu) = phi (X(t-1)-mu)) + e(t)

which is not a common way to define an intercept. There is an error in 
the fGarch's predict() because of that. I think you should just be more 
explicit.


thank you

Pierre Chaussé
economics department
UQÀM

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


[Rd] make fails when using with-x=no on linux CentOS 5.3 (PR#13670)

2009-04-22 Thread delhomme
Full_Name: Nicolas Delhomme
Version: 2.9.0
OS: Linux CentOS release 5.3 kernel 2.6.18-128.el5 arch x86_64
Submission from: (NULL) (194.94.44.4)


Hi,

The commands I used to compile R2.9.0 on CentOS
./compile --with-x=no
make

This fails with the following message:
make[2]: Leaving directory `/home/delhomme/R-2.9.0/src/modules/vfonts'
make[1]: Leaving directory `/home/delhomme/R-2.9.0/src/modules/vfonts'
make[1]: Entering directory `/home/delhomme'
make[1]: *** No rule to make target `R'.  Stop.
make[1]: Leaving directory `/home/delhomme'
make: *** [R] Error 1

What happens is the following:

In the Makefile located in the src/modules directory, there's a check for
R_MODULES (l.17-18)
## R_MODULES is X11 (or not)
MODULES = $(R_MODULES) internet lapack vfonts

This works fine, R_MODULES being defined and equal to an empty string.

Then in the R target (l.26-30)
R: Makefile make.internet make.lapack make.vfonts
   @for d in "$(R_MODULES)"; do \
(cd $${d} && $(MAKE) $@) || exit 1; \
   done

the R_MODULES is used again and since it is an empty string, it results in
doing
cd && make R, which means going to the home directory and executes the R target
of the Makefile there. Humm... since there's no makefile in my home dir, this
obviously breaks everything up.

The fix for that is to test wether R_MODULES is not an empty string. The
following corrects the problem:

R: Makefile make.internet make.lapack make.vfonts
@if test "$(R_MODULES)" != ""; then \
for d in "$(R_MODULES)"; do \
  (cd $${d} && $(MAKE) $@) || exit 1; \
done; \ 
fi

Best,

Nicolas Delhomme

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


Re: [Rd] Closed-source non-free ParallelR ?

2009-04-22 Thread hadley wickham
> Also, I'm confused about your dimissal of the MCE example.  If that code was
> a derivative work of R, how could it swap a GPL license for the BSD?  I
> didn't think such a switch was possible.  If it was, I'd imagine a lot more
> use of it, as a quick front project could make GPL software into BSD
> software after which all changes could go on behind closed doors.

And there are certainly many existing R packages with
non-free/non-open licenses:

http://cran.r-project.org/web/packages/ff/LICENSE
http://cran.r-project.org/web/packages/minpack.lm/LICENSE
http://cran.r-project.org/web/packages/rngwell19937/LICENSE
http://cran.r-project.org/web/packages/SDDA/LICENSE
...

Found with 
http://www.google.com/search?q=site:cran.r-project.org+cran+%22file+license%22



Hadley

-- 
http://had.co.nz/

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


Re: [Rd] reversing xlim, ylim in smoothScatter

2009-04-22 Thread Martin Maechler
> "SG" == Shashikiran Ganesh 
> on Wed, 22 Apr 2009 17:16:09 +0530 (IST) writes:

SG> Hello,
SG> I have found that in smoothScatter it is not possible to reverse the 
axes plotted (R version 2.9.0) .   It appears that this arises from the hard 
coding of xlim and ylim in smoothscatter.R in the lines :

SG> x <- x[ xlim[1] <= x[,1] & x[,1] <=xlim[2], ]   (line  number 25)

SG> and 

SG> x <- x[ ylim[1] <= x[,2] & x[,2] <= ylim[2], ]  (line number 31)

SG> This results in a x being NA if ylim[1] > ylim[2] which results in an 
error on executing
SG>  map <- grDevices:::.smoothScatterCalcDensity(x, nbin, bandwidth)

SG> To counter this problem, I replaced the above two lines by :
SG> x <-x [min(xlim) <= x[,1] & x[,1] <= max(xlim), ]

SG> and 
SG> x <- x[min(ylim) <= x[,2] & x[,2] <= max(ylim), ]

SG> and now smoothscatter reverses axes properly if xlim and/or ylim are 
provided with reversed ranges.   

SG> I am wondering if this would break something somewhere else or if there 
is a better way to reverse the axes.     (I am a newbie in R programming 
although I have been using R for some astronomical plots and computations 
etc...) 

No, I don't think your proposed change could create problems,
but to the contrary, I'd declare it as a simple bug fix,
so it will be part of the next versions of R,
thank you very much!

Martin Maechler, ETH Zurich

SG> Thanks in advance for your comments!  
SG> Shashi
SG> --
SG> Shashikiran Ganesh 

SG> http://www.prl.res.in/~shashi 

SG> http://cosmicdiary.org/blogs/shashikiran_ganesh/
SG> Registered linux user number: 39542 (http://counter.li.org)

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


[Rd] 'is.integer' (PR#13671)

2009-04-22 Thread hzambran . newsgroups
Full_Name: Mauricio
Version: 2.9.0 (2009-04-17)
OS:  i486-pc-linux-gnu
Submission from: (NULL) (193.205.203.3)


This is a very simple function that seems not to be working, according to the
definition given by '?is.integer'.

I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
find any related message.

The possible problem is:


> is.integer(1)
[1] FALSE

and 1 is obviously an integer value.


I would really appreciate if you could clarify if this is really a bug or not.

Thanks in advance,

Mauricio

> version
   _   
platform   i486-pc-linux-gnu   
arch   i486
os linux-gnu   
system i486, linux-gnu 
status 
major  2   
minor  9.0 
year   2009
month  04  
day17  
svn rev48333   
language   R   
version.string R version 2.9.0 (2009-04-17)

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


Re: [Rd] 'is.integer' (PR#13671)

2009-04-22 Thread Peter Cowan
On Wed, Apr 22, 2009 at 10:45 AM,   wrote:
> Full_Name: Mauricio
> Version: 2.9.0 (2009-04-17)
> OS:  i486-pc-linux-gnu
> Submission from: (NULL) (193.205.203.3)
>
>
> This is a very simple function that seems not to be working, according to the
> definition given by '?is.integer'.
>
> I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
> find any related message.
>
> The possible problem is:
>
>
>> is.integer(1)
> [1] FALSE
>
> and 1 is obviously an integer value.
>

Actually it's not:

> typeof(1)
[1] "double"

So the command does work as the help describes.  From ?is.integer()

"is.integer returns TRUE or FALSE depending on whether its argument is
of integer type or not, unless it is a factor when it returns FALSE."

In the HTML help "type" is a link to the typeof() function.

HTH

Peter

>
> I would really appreciate if you could clarify if this is really a bug or not.
>
> Thanks in advance,
>
> Mauricio
>
>> version
>               _
> platform       i486-pc-linux-gnu
> arch           i486
> os             linux-gnu
> system         i486, linux-gnu
> status
> major          2
> minor          9.0
> year           2009
> month          04
> day            17
> svn rev        48333
> language       R
> version.string R version 2.9.0 (2009-04-17)
>
> __
> 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] 'is.integer' (PR#13671)

2009-04-22 Thread Charles C. Berry

On Wed, 22 Apr 2009, hzambran.newsgro...@gmail.com wrote:


Full_Name: Mauricio
Version: 2.9.0 (2009-04-17)
OS:  i486-pc-linux-gnu
Submission from: (NULL) (193.205.203.3)


This is a very simple function that seems not to be working, according to the
definition given by '?is.integer'.

I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
find any related message.

The possible problem is:



is.integer(1)

[1] FALSE

and 1 is obviously an integer value.


Obvious?

You must know something I do not, as the protagonist of Zen and the Art of 
Motorcylce Maintenance would have pointed out.


And if you do then it is not really obvious.


is.double(1)

[1] TRUE

1L _is_ an integer.


is.integer(1L)

[1] TRUE




So this is not a bug. Please see the FAQ for advise on not posting 
non-bugs.


Chuck




I would really appreciate if you could clarify if this is really a bug or not.

Thanks in advance,

Mauricio


version

  _
platform   i486-pc-linux-gnu
arch   i486
os linux-gnu
system i486, linux-gnu
status
major  2
minor  9.0
year   2009
month  04
day17
svn rev48333
language   R
version.string R version 2.9.0 (2009-04-17)

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



Charles C. Berry(858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu   UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/  La Jolla, San Diego 92093-0901

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


Re: [Rd] RFC: Ability to suppress 'locale' from sessionInfo

2009-04-22 Thread Kasper Daniel Hansen

This is a better way, it does two things
a) enclose the itemize environment in a flushleft environment - this  
gives us much better line breaks for the verb.
b) does a replace of ";" with ";| \verb|" so that each "component" of  
the locale gets enclosed in its own \verb command, which allows latex  
to produce line breaks (since I am using gsub, I do gsub(";", ";| \\\ 
\verb", object$locale))


Below is a proposed utils:::toLatex.sessionInfo

I think it might make sense to have a locale argument, but I would  
argue that the default ought to be TRUE.


Kasper

function (object, ...)
{
opkgver <- sapply(object$otherPkgs, function(x) x$Version)
nspkgver <- sapply(object$loadedOnly, function(x) x$Version)
z <- c("\\begin{flushleft}", "\\begin{itemize}", paste("  \\item  
", object$R.version$version.string,

", \\verb|", object$R.version$platform, "|", sep = ""),
paste("  \\item Locale: \\verb|", gsub(";", ";| verb|",  
object$locale), "|",

sep = ""), strwrap(paste("\\item Base packages:",
paste(sort(object$basePkgs), collapse = ", ")), indent = 2,
exdent = 4))
if (length(opkgver)) {
opkgver <- opkgver[sort(names(opkgver))]
z <- c(z, strwrap(paste("  \\item Other packages: ",
paste(names(opkgver), opkgver, sep = "~", collapse = ",  
")),

indent = 2, exdent = 4))
}
if (length(nspkgver)) {
nspkgver <- nspkgver[sort(names(nspkgver))]
z <- c(z, strwrap(paste("  \\item Loaded via a namespace (and  
not attached): ",
paste(names(nspkgver), nspkgver, sep = "~", collapse = ",  
")),

indent = 2, exdent = 4))
}
z <- c(z, "\\end{itemize}", "\\end{flushleft}")
class(z) <- "Latex"
z
}



On Apr 22, 2009, at 1:50 , Martin Maechler wrote:


"TobiasV" == Tobias Verbeke 
   on Wed, 22 Apr 2009 09:57:30 +0200 writes:


   TobiasV> Friedrich Leisch wrote:

On Tue, 21 Apr 2009 21:16:59 -0500,
Kevin W (KW) wrote:


The printing of the locale information from sessionInfo is not  
very tidy.
Using toLatex(sessionInfo) pretty much guarantees "badness" from  
breaking
the margin boundary (though my version of TeX no longer reports  
such

errors).  A random example is here:
http://cran.r-project.org/web/packages/Matrix/vignettes/Design-issues.pdf


I find the locale information unnecessary and right now I hack  
this with

si = sessionInfo()
si$locale = "US"
toLatex(si)



I would like to be able to do something a bit cleaner, for example
sessionInfo(locale=FALSE)


For what it's worth, I don't think that early versions of  
sessionInfo

printed information about the locale.


It went in on 2006-05-26, so it's bben there for some time now.



Discussion welcome.


I agree that it doesn't look nice in latex documents, but it is very
handy in bug reports.

Are there any objections if we add a locale argument to the  
toLatex()

method and let that default to FALSE?


   TobiasV> No objection although I would not be against
   TobiasV> letting it default to TRUE to preserve current behaviour.

I agree with setting the default to keep the current behavior.
As Fritz mentioned, there situations where the locale
(information) is of quite some importance.  As we know that
Sweave is used in quite a few circumstances with automatic
report generation, of which in *some* cases the locale may also
matter (and is desired to be visible),

I think we should not change the default behavior lightly
(apart from the extra spaces, see below).

   TobiasV> One improvement in the locale information that would  
make the LaTeX look
   TobiasV> much nicer would be to add a space after the separator,  
i.e.


   TobiasV> item1; item2; item3

   TobiasV> instead of

   TobiasV> item1;item2;item3

   TobiasV> That is for me more important than having the
   TobiasV> option to include locale info or not

I agree very much; and indeed, adding the space after ";" is
trivial to achieve in the next version of  toLatex()'s
"sessionInfo" method, as well.

Martin

   TobiasV> as without such a change I found no way to prevent the  
locale

   TobiasV> information to run into the margin (and off the
   TobiasV> page) of the resulting LaTeX document and that is
   TobiasV> esthetically much more displeasing than the mere
   TobiasV> presence of the locale information.

   TobiasV> Best,
   TobiasV> Tobias

__
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


[Rd] wishlist: change default for units in print.object_size

2009-04-22 Thread Kasper Daniel Hansen
I would like the default for units in print.object_size to be changed  
from "b" to "auto".


Since this is just for the print method, it should not change any  
computations.


Kasper

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


Re: [Rd] 'is.integer' (PR#13671)

2009-04-22 Thread Josh Ulrich
> typeof(1)
[1] "double"

1 is obviously *not* an integer value.

Best,
Josh
--
http://quantemplation.blogspot.com
http://www.fosstrading.com



On Wed, Apr 22, 2009 at 12:45 PM,   wrote:
> Full_Name: Mauricio
> Version: 2.9.0 (2009-04-17)
> OS:  i486-pc-linux-gnu
> Submission from: (NULL) (193.205.203.3)
>
>
> This is a very simple function that seems not to be working, according to the
> definition given by '?is.integer'.
>
> I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
> find any related message.
>
> The possible problem is:
>
>
>> is.integer(1)
> [1] FALSE
>
> and 1 is obviously an integer value.
>
>
> I would really appreciate if you could clarify if this is really a bug or not.
>
> Thanks in advance,
>
> Mauricio
>
>> version
>               _
> platform       i486-pc-linux-gnu
> arch           i486
> os             linux-gnu
> system         i486, linux-gnu
> status
> major          2
> minor          9.0
> year           2009
> month          04
> day            17
> svn rev        48333
> language       R
> version.string R version 2.9.0 (2009-04-17)
>
> __
> 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] 'is.integer' (PR#13671)

2009-04-22 Thread Mathieu Ribatet
To the best of my knowledge this is not a bug. According to FAQ 3.3.3
"Numeric constants with no fractional and exponent (i.e., only integer)
part are taken as integer in S-Plus 6.x or later, but as double in R."

You can see it by invoking
>storage.mode(1)
[1] "double"

Hence, if you really want to have integers, you need to use as.integer
i.e.
> storage.mode(as.integer(1))
[1] "integer"

Cheers,
Mathieu

Le mercredi 22 avril 2009 à 19:45 +0200, hzambran.newsgro...@gmail.com a
écrit :
> Full_Name: Mauricio
> Version: 2.9.0 (2009-04-17)
> OS:  i486-pc-linux-gnu
> Submission from: (NULL) (193.205.203.3)
> 
> 
> This is a very simple function that seems not to be working, according to the
> definition given by '?is.integer'.
> 
> I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
> find any related message.
> 
> The possible problem is:
> 
> 
> > is.integer(1)
> [1] FALSE
> 
> and 1 is obviously an integer value.
> 
> 
> I would really appreciate if you could clarify if this is really a bug or not.
> 
> Thanks in advance,
> 
> Mauricio
> 
> > version
>_   
> platform   i486-pc-linux-gnu   
> arch   i486
> os linux-gnu   
> system i486, linux-gnu 
> status 
> major  2   
> minor  9.0 
> year   2009
> month  04  
> day17  
> svn rev48333   
> language   R   
> version.string R version 2.9.0 (2009-04-17)
> 
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
-- 
Institute of Mathematics
Ecole Polytechnique Fédérale de Lausanne
STAT-IMA-FSB-EPFL, Station 8
CH-1015 Lausanne   Switzerland
http://stat.epfl.ch/
Tel: + 41 (0)21 693 7907

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


Re: [Rd] 'is.integer' (PR#13671)

2009-04-22 Thread Stavros Macrakis
Dear R experts,

You are being a bit harsh on this user. He simply doesn't understand
the distinction between "object of type integer" and "integer-valued
object", which is actually fairly subtle.

On Wed, Apr 22, 2009 at 1:45 PM,   wrote:
> This is a very simple function that seems not to be working, according to the
> definition given by '?is.integer'.
...
>> is.integer(1)
> [1] FALSE
>
> and 1 is obviously an integer value.

The is.integer function is correctly documented to check whether
objects are of *type* integer, thus:

 is.integer( 1L ) => TRUE

In R, objects of type integer are only created with literals of the
form 999L; as the output of some functions when the input is integral
(e.g. sort, unique, rev, ...); as the output of some functions which
return index values or differences of index values (which, grep, rle,
...); and the output of a few other functions in certain cases (seq).

Most numbers in R are floating-point numbers (type double), and
determining whether their value is integral is rather subtle.

For example, consider the vector 1+1000^-(1:6).  In floating-point
arithmetic, the first 5 values are distinguishable from the integer 1,
but the 6th is not, though of course the *mathematical* number
1+1000^-6 is not integral.  Now consider 1e40, which has the property
that floor(x)==x==ceiling(x), which you might think characterizes an
integer;  but it also has the property that x+1 == x.  Similarly for
1/3 * 1e40.

In other words, it is really a rather subtle question whether a
floating-point number "represents" an integer

   -s

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


Re: [Rd] 'is.integer' (PR#13671)

2009-04-22 Thread Tony Plate
is.integer() is one of those functions with a name that can be confusing 
-- it looks at the underlying storage type of its argument (e.g., 
integer, floating point, character, etc.) not at the value stored in the 
argument.


So, the type of behavior you see is this:

> is.integer(1)
[1] FALSE
> is.integer(as.integer(1))
[1] TRUE
> is.integer(as.integer(1) * 1.0)
[1] FALSE
> is.integer(as.integer(NA))
[1] TRUE
>

Careful reading of ?is.integer does tell you this, but I wouldn't accuse 
that help page of making such information blatantly obvious to new users 
of R.


To test whether a value is an integer value, you can so something like this:

> is.wholenumber <- function(x, tolerance = .Machine$double.eps^0.5) 
return(abs(x - round(x)) < tolerance)

> is.wholenumber(1)
[1] TRUE
> is.wholenumber(seq(1,5,by=0.5))
[1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE
>

The 'tolerance' part is to allow for minor deviations that might be due 
to floating point representation issues, e.g., on my computer 1/49 * 49 
does not result in a value that is exactly equal to 1:


> 1/49 * 49 - 1
[1] -1.110223e-16
> is.wholenumber(1/49 * 49)
[1] TRUE
> is.wholenumber(1/49 * 49, tol=0)
[1] FALSE
>

-- Tony Plate

hzambran.newsgro...@gmail.com wrote:

Full_Name: Mauricio
Version: 2.9.0 (2009-04-17)
OS:  i486-pc-linux-gnu
Submission from: (NULL) (193.205.203.3)


This is a very simple function that seems not to be working, according to the
definition given by '?is.integer'.

I checked in the Bug Tracking page at http://bugs.R-project.org/, but I didn't
find any related message.

The possible problem is:


  

is.integer(1)


[1] FALSE

and 1 is obviously an integer value.


I would really appreciate if you could clarify if this is really a bug or not.

Thanks in advance,

Mauricio

  

version

   _   
platform   i486-pc-linux-gnu   
arch   i486
os linux-gnu   
system i486, linux-gnu 
status 
major  2   
minor  9.0 
year   2009
month  04  
day17  
svn rev48333   
language   R   
version.string R version 2.9.0 (2009-04-17)


__
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