Small bug in the documentation of `[.data.frame`

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Small bug in the documentation of `[.data.frame`

Rui Barradas
Hello,

R 4.0.3 on Ubuntu 20.10, session info at end.

Isn't the default value of argument drop missing in

?`[.data.frame`

Usage:

      ## S3 method for class 'data.frame'
      x[i, j, drop = ]


I had the impression that it was TRUE (it is when running the function,
I'm talking about the docs).



sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.1 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
  [1] LC_CTYPE=pt_PT.UTF-8       LC_NUMERIC=C
  [3] LC_TIME=pt_PT.UTF-8        LC_COLLATE=pt_PT.UTF-8
  [5] LC_MONETARY=pt_PT.UTF-8    LC_MESSAGES=pt_PT.UTF-8
  [7] LC_PAPER=pt_PT.UTF-8       LC_NAME=C
  [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.0.3 tools_4.0.3


Happy holidays,

Rui Barradas

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Small bug in the documentation of `[.data.frame`

Duncan Murdoch-2
On 29/12/2020 8:29 a.m., Rui Barradas wrote:

> Hello,
>
> R 4.0.3 on Ubuntu 20.10, session info at end.
>
> Isn't the default value of argument drop missing in
>
> ?`[.data.frame`
>
> Usage:
>
>        ## S3 method for class 'data.frame'
>        x[i, j, drop = ]
>
>
> I had the impression that it was TRUE (it is when running the function,
> I'm talking about the docs).

No, you can see it if you print `[.data.frame`:

 > `[.data.frame`
function (x, i, j, drop = if (missing(i)) TRUE else length(cols) ==
     1)

So if you ask for specific rows and your dataframe has more than one
column, it defaults to FALSE.

I think the Rd checks allow you to leave out defaults, but don't allow
you to state them incorrectly, so that's probably why it is left as
blank in the Usage section, and explained in the Arguments section.

Duncan Murdoch


>
>
>
> sessionInfo()
> R version 4.0.3 (2020-10-10)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 20.04.1 LTS
>
> Matrix products: default
> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
>
> locale:
>    [1] LC_CTYPE=pt_PT.UTF-8       LC_NUMERIC=C
>    [3] LC_TIME=pt_PT.UTF-8        LC_COLLATE=pt_PT.UTF-8
>    [5] LC_MONETARY=pt_PT.UTF-8    LC_MESSAGES=pt_PT.UTF-8
>    [7] LC_PAPER=pt_PT.UTF-8       LC_NAME=C
>    [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] compiler_4.0.3 tools_4.0.3
>
>
> Happy holidays,
>
> Rui Barradas
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Small bug in the documentation of `[.data.frame`

Martin Maechler
>>>>> Duncan Murdoch
>>>>>     on Tue, 29 Dec 2020 08:37:51 -0500 writes:

    > On 29/12/2020 8:29 a.m., Rui Barradas wrote:
    >> Hello,
    >>
    >> R 4.0.3 on Ubuntu 20.10, session info at end.
    >>
    >> Isn't the default value of argument drop missing in
    >>
    >> ?`[.data.frame`
    >>
    >> Usage:
    >>
    >> ## S3 method for class 'data.frame'
    >> x[i, j, drop = ]
    >>
    >>
    >> I had the impression that it was TRUE (it is when running the function,
    >> I'm talking about the docs).

    > No, you can see it if you print `[.data.frame`:

    >> `[.data.frame`
    > function (x, i, j, drop = if (missing(i)) TRUE else length(cols) ==
    > 1)

    > So if you ask for specific rows and your dataframe has more than one
    > column, it defaults to FALSE.

    > I think the Rd checks allow you to leave out defaults, but don't allow
    > you to state them incorrectly, so that's probably why it is left as
    > blank in the Usage section, and explained in the Arguments section.

    > Duncan Murdoch

Yes, indeed, Duncan,  it is as you think (above).

It is "official" in the sense that we've used this for a long
time in order to keep the 'Usage' section cleaner, when some
defaults are sophisticated, and a help page reader should rather
read the corresponding argument description.

Martin


    >> sessionInfo()
    >> R version 4.0.3 (2020-10-10)
    >> Platform: x86_64-pc-linux-gnu (64-bit)
    >> Running under: Ubuntu 20.04.1 LTS
    >>
    >> Matrix products: default
    >> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
    >> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
    >>
    >> locale:
    >> [1] LC_CTYPE=pt_PT.UTF-8       LC_NUMERIC=C
    >> [3] LC_TIME=pt_PT.UTF-8        LC_COLLATE=pt_PT.UTF-8
    >> [5] LC_MONETARY=pt_PT.UTF-8    LC_MESSAGES=pt_PT.UTF-8
    >> [7] LC_PAPER=pt_PT.UTF-8       LC_NAME=C
    >> [9] LC_ADDRESS=C               LC_TELEPHONE=C
    >> [11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=C
    >>
    >> attached base packages:
    >> [1] stats     graphics  grDevices utils     datasets  methods   base
    >>
    >> loaded via a namespace (and not attached):
    >> [1] compiler_4.0.3 tools_4.0.3
    >>
    >>
    >> Happy holidays,
    >>
    >> Rui Barradas
    >>
    >> ______________________________________________
    >> [hidden email] mailing list
    >> https://stat.ethz.ch/mailman/listinfo/r-devel
    >>

    > ______________________________________________
    > [hidden email] mailing list
    > https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Reply | Threaded
Open this post in threaded view
|

Re: Small bug in the documentation of `[.data.frame`

Rui Barradas
Hello,

Thank you both, Duncan and Martin, for the quick and clear answer.
I hadn't considered printing `[.data.frame`, which is in fact very
useful, but I had read the Arguments section. What I didn't realize was
that it was the answer to the question. Sorry for the noise.

Rui Barradas

Às 13:51 de 29/12/20, Martin Maechler escreveu:

>>>>>> Duncan Murdoch
>>>>>>      on Tue, 29 Dec 2020 08:37:51 -0500 writes:
>
>      > On 29/12/2020 8:29 a.m., Rui Barradas wrote:
>      >> Hello,
>      >>
>      >> R 4.0.3 on Ubuntu 20.10, session info at end.
>      >>
>      >> Isn't the default value of argument drop missing in
>      >>
>      >> ?`[.data.frame`
>      >>
>      >> Usage:
>      >>
>      >> ## S3 method for class 'data.frame'
>      >> x[i, j, drop = ]
>      >>
>      >>
>      >> I had the impression that it was TRUE (it is when running the function,
>      >> I'm talking about the docs).
>
>      > No, you can see it if you print `[.data.frame`:
>
>      >> `[.data.frame`
>      > function (x, i, j, drop = if (missing(i)) TRUE else length(cols) ==
>      > 1)
>
>      > So if you ask for specific rows and your dataframe has more than one
>      > column, it defaults to FALSE.
>
>      > I think the Rd checks allow you to leave out defaults, but don't allow
>      > you to state them incorrectly, so that's probably why it is left as
>      > blank in the Usage section, and explained in the Arguments section.
>
>      > Duncan Murdoch
>
> Yes, indeed, Duncan,  it is as you think (above).
>
> It is "official" in the sense that we've used this for a long
> time in order to keep the 'Usage' section cleaner, when some
> defaults are sophisticated, and a help page reader should rather
> read the corresponding argument description.
>
> Martin
>
>
>      >> sessionInfo()
>      >> R version 4.0.3 (2020-10-10)
>      >> Platform: x86_64-pc-linux-gnu (64-bit)
>      >> Running under: Ubuntu 20.04.1 LTS
>      >>
>      >> Matrix products: default
>      >> BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
>      >> LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
>      >>
>      >> locale:
>      >> [1] LC_CTYPE=pt_PT.UTF-8       LC_NUMERIC=C
>      >> [3] LC_TIME=pt_PT.UTF-8        LC_COLLATE=pt_PT.UTF-8
>      >> [5] LC_MONETARY=pt_PT.UTF-8    LC_MESSAGES=pt_PT.UTF-8
>      >> [7] LC_PAPER=pt_PT.UTF-8       LC_NAME=C
>      >> [9] LC_ADDRESS=C               LC_TELEPHONE=C
>      >> [11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=C
>      >>
>      >> attached base packages:
>      >> [1] stats     graphics  grDevices utils     datasets  methods   base
>      >>
>      >> loaded via a namespace (and not attached):
>      >> [1] compiler_4.0.3 tools_4.0.3
>      >>
>      >>
>      >> Happy holidays,
>      >>
>      >> Rui Barradas
>      >>
>      >> ______________________________________________
>      >> [hidden email] mailing list
>      >> https://stat.ethz.ch/mailman/listinfo/r-devel
>      >>
>
>      > ______________________________________________
>      > [hidden email] mailing list
>      > https://stat.ethz.ch/mailman/listinfo/r-devel
>

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel