Dear William,

thank you very much for your reply. I see it only after my reply to Joshua.

Unfortunately I cannot try until tomorrow, because I don't have S-PLUS on
this machine.

Thanks again.

Nicola



2010/11/3 William Dunlap <wdunlap@tibco.com>

> Did you get my reply (1:31pm PST Tuesday)
> to your request?  It showed how you needed
> to use the from= and to= argument to density
> to get identical x components to the output
> and that the small differences in the y
> component were due to S+ truncating the
> gaussian kernel at +- 4 standard deviations
> from the center while R does not truncate
> the gaussian kernel (it output looks like it
> uses a Fourier transform to do the convolution).
>
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
> > -----Original Message-----
> > From: r-help-bounces@r-project.org
> > [mailto:r-help-bounces@r-project.org] On Behalf Of Nicola
> > Sturaro Sommacal (Quantide srl)
> > Sent: Wednesday, November 03, 2010 3:34 AM
> > To: Joshua Wiley
> > Cc: r-help@r-project.org
> > Subject: Re: [R] density() function: differences with S-PLUS
> >
> > Dear Joshua,
> >
> > first of all, thank you very much for reply. I hoped that
> > someone who's
> > familiar with both S+ and R can reply to me, because I spent
> > some hours to
> > looking for a solution.
> >
> > If someone else would try, this is the SPLUS code and output,
> > while below
> > there is the R code. I obtain the same x values, while y values are
> > differents for both examples.
> >
> > Thank you very much.
> >
> > Nicola
> >
> >
> > ### S-PLUS CODE AND OUTPUT ###
> >
> > > density(1:1000, width = 4)
> > $x:
> >  [1]    -2.00000    18.51020    39.02041    59.53061    80.04082
> > 100.55102   121.06122
> >  [8]   141.57143   162.08163   182.59184   203.10204   223.61224
> > 244.12245   264.63265
> > [15]   285.14286   305.65306   326.16327   346.67347   367.18367
> > 387.69388   408.20408
> > [22]   428.71429   449.22449   469.73469   490.24490   510.75510
> > 531.26531   551.77551
> > [29]   572.28571   592.79592   613.30612   633.81633   654.32653
> > 674.83673   695.34694
> > [36]   715.85714   736.36735   756.87755   777.38776   797.89796
> > 818.40816   838.91837
> > [43]   859.42857   879.93878   900.44898   920.95918   941.46939
> > 961.97959   982.48980
> > [50]  1003.00000
> >
> > $y:
> >  [1] 4.565970e-006 1.000031e-003 9.999374e-004 1.000031e-003
> > 9.999471e-004
> > 1.000031e-003
> >  [7] 9.999560e-004 1.000030e-003 9.999643e-004 1.000029e-003
> > 9.999718e-004
> > 1.000028e-003
> > [13] 9.999788e-004 1.000026e-003 9.999852e-004 1.000024e-003
> > 9.999910e-004
> > 1.000022e-003
> > [19] 9.999963e-004 1.000019e-003 1.000001e-003 1.000016e-003
> > 1.000006e-003
> > 1.000013e-003
> > [25] 1.000010e-003 1.000010e-003 1.000013e-003 1.000006e-003
> > 1.000016e-003
> > 1.000001e-003
> > [31] 1.000019e-003 9.999963e-004 1.000022e-003 9.999910e-004
> > 1.000024e-003
> > 9.999852e-004
> > [37] 1.000026e-003 9.999788e-004 1.000028e-003 9.999718e-004
> > 1.000029e-003
> > 9.999643e-004
> > [43] 1.000030e-003 9.999560e-004 1.000031e-003 9.999471e-004
> > 1.000031e-003
> > 9.999374e-004
> > [49] 1.000031e-003 4.432131e-006
> >
> >
> > > exdata = iris[, 1, 1]
> > > density(exdata, width = 4)
> > $x:
> >  [1] 1.300000 1.453061 1.606122 1.759184 1.912245 2.065306
> > 2.218367 2.371429
> > 2.524490
> > [10] 2.677551 2.830612 2.983673 3.136735 3.289796 3.442857
> > 3.595918 3.748980
> > 3.902041
> > [19] 4.055102 4.208163 4.361224 4.514286 4.667347 4.820408
> > 4.973469 5.126531
> > 5.279592
> > [28] 5.432653 5.585714 5.738776 5.891837 6.044898 6.197959
> > 6.351020 6.504082
> > 6.657143
> > [37] 6.810204 6.963265 7.116327 7.269388 7.422449 7.575510
> > 7.728571 7.881633
> > 8.034694
> > [46] 8.187755 8.340816 8.493878 8.646939 8.800000
> >
> > $y:
> >  [1] 0.0007849649 0.0013097474 0.0021225491 0.0033616520 0.0052059615
> > 0.0078856717
> >  [7] 0.0116917555 0.0169685132 0.0241073754 0.0335286785 0.0456521053
> > 0.0608554862
> > [13] 0.0794235072 0.1014901241 0.1269807991 0.1555625999 0.1866111931
> > 0.2192033788
> > [19] 0.2521417640 0.2840144993 0.3132881074 0.3384260582 0.3580208688
> > 0.3709241384
> > [25] 0.3763578665 0.3739920600 0.3639778683 0.3469316232 0.3238721233
> > 0.2961200278
> > [31] 0.2651731505 0.2325739601 0.1997853985 0.1680884651 0.1385105802
> > 0.1117884914
> > [37] 0.0883644110 0.0684099972 0.0518702141 0.0385181792 0.0280126487
> > 0.0199513951
> > [43] 0.0139159044 0.0095050745 0.0063575653 0.0041639082 0.0026680819
> > 0.0016700727
> > [49] 0.0010169912 0.0005962089
> >
> >
> > ### R CODE ###
> >
> > # S-PLUS CODE: density(1:1000, width = 4)     SAME x BUT DIFFERENT y
> > density(1:1000, bw = 4, window = "g",  n = 50, cut = 0.75)$x
> > density(1:1000, bw = 4, window = "g",  n = 50, cut = 0.75)$y
> >
> > # S-PLUS CODE: exdata = iris[, 1, 1]; density(exdata, width =
> > 4)     SAME x
> > BUT DIFFERENT y
> > exdata = iris$Sepal.Length[iris$Species == "setosa"]
> > density(exdata, bw = 4, n = 50, cut = 0.75)$x
> > density(exdata, bw = 4, n = 50, cut = 0.75)$y
> >
> >
> >
> > 2010/11/2 Joshua Wiley <jwiley.psych@gmail.com>
> >
> > > Dear Nicola,
> > >
> > > There are undoubtedly people here who are familiar with
> > both S+ and R,
> > > but they may not always be around or get to every question.  In that
> > > case there are (at least) two good options for you:
> > >
> > > 1) Say what you want mathematically (something of a universal
> > > language) or statistically
> > >
> > > 2) Rather than just give us S+ code, show sample data
> > (e.g., 1:1000),
> > > and the values you would like obtained (in this case whatever the
> > > output from S+ was).  This would let us *try* to figure out what
> > > happened and duplicate it in R.
> > >
> > > From the arcane step of reading R's documentation for
> > density (?density):
> > >
> > > width: this exists for compatibility with S; if given, and 'bw' is
> > >          not, will set 'bw' to 'width' if this is a
> > character string,
> > >          or to a kernel-dependent multiple of 'width' if this is
> > >          numeric.
> > >
> > > Which makes me wonder if this works for you (in R)?
> > >
> > > density(1:1000, width = 4)
> > >
> > >
> > > Cheers,
> > >
> > > Josh
> > >
> > >
> > > On Tue, Nov 2, 2010 at 3:04 AM, Nicola Sturaro Sommacal
> > (Quantide srl)
> > > <mailinglist@sturaro.net> wrote:
> > > > Hello!
> > > >
> > > > Someone know what are the difference between R and S-PLUS in the
> > > density()
> > > > function?
> > > >
> > > > For example, I would like to reply this simple S-PLUS
> > code in R, but I
> > > don't
> > > > understand which parameter I should modify to get the
> > same results.
> > > >
> > > > S-PLUS CODE:
> > > > density(1:1000, width = 4)
> > > >
> > > > R-CODE:
> > > > density(1:1000, bw = 4, window = "g",  n = 50, cut = 0.75)
> > > >
> > > > I obtain the same x values, but different y values. I try
> > also different
> > > > examples, with different parameter.
> > > >
> > > > Can you help me?
> > > >
> > > > Thank you in advance.
> > > >
> > > > Nicola Sturaro
> > > >
> > > >        [[alternative HTML version deleted]]
> > > >
> > > > ______________________________________________
> > > > R-help@r-project.org mailing list
> > > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > > PLEASE do read the posting guide
> > > http://www.R-project.org/posting-guide.html
> > > > and provide commented, minimal, self-contained, reproducible code.
> > > >
> > >
> > >
> > >
> > > --
> > > Joshua Wiley
> > > Ph.D. Student, Health Psychology
> > > University of California, Los Angeles
> > > http://www.joshuawiley.com/
> > >
> >
> >       [[alternative HTML version deleted]]
> >
> >
>

	[[alternative HTML version deleted]]

