Bug?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Bug?

Ramiro Barrantes-2
Hello,

In my code I found something that looks like an anomaly, I found a reproducible example in which I am just trying to compare each row in a data frame against the first row:

a<-data.frame(row=c("B","C","B"),column=c(2,2,10),assay=c("Assay1","Assay1","Assay1"),plate=c(1,1,1),stringsAsFactors=FALSE)
apply(a[1:2,],1,function(x) { all(x==a[1,]) })
apply(a[1:3,],1,function(x) { all(x==a[1,]) })
> >     1     2
 TRUE FALSE
>     1     2     3
FALSE FALSE FALSE
>

The second result is not right, it should be TRUE FALSE FALSE

Am I doing something wrong or is this a bug?  With other inputs it seems to work ok

Here is my sessionInfo()
> sessionInfo()
R version 3.2.5 (2016-04-14)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.9 (Final)

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

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

Thank you,
Ramiro



Ramiro Barrantes Ph.D.
Precision Bioassay, Inc.
431 Pine St., Suite 110
Burlington, VT 05401
802 865 0155
802 861 2365 FAX
www.precisionbioassay.com<https://west.exch023.serverdata.net/owa/redir.aspx?SURL=wN3KzpoKXAcetH7sTOTnSyfg-iAXFIinpPUtRcduCFCtkgZrUSDTCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAHIAZQBjAGkAcwBpAG8AbgBiAGkAbwBhAHMAcwBhAHkALgBjAG8AbQA.&URL=http%3a%2f%2fwww.precisionbioassay.com>
[hidden email]

CONFIDENTIALITY NOTICE: This email, including any attach...{{dropped:9}}

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bug?

R help mailing list-2
I think the help file for apply() warns you that if you give it a
data.frame, the data.frame will be converted to a matrix, with X <-
as.matrix(X), before FUN is called on its rows or columns.  Look at what
as.matrix does to your data: since there is a non-numeric column it
produces a character matrix and since in the second example some numbers
have 2 digits, the other numbers have a leading space.

> as.matrix(a[1:2,])
  row column assay    plate
1 "B" "2"    "Assay1" "1"
2 "C" "2"    "Assay1" "1"
> as.matrix(a[1:3,])
  row column assay    plate
1 "B" " 2"   "Assay1" "1"
2 "C" " 2"   "Assay1" "1"
3 "B" "10"   "Assay1" "1"

I avoid using apply() on data.frames.


Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Tue, Aug 8, 2017 at 11:39 AM, Ramiro Barrantes <
[hidden email]> wrote:

> Hello,
>
> In my code I found something that looks like an anomaly, I found a
> reproducible example in which I am just trying to compare each row in a
> data frame against the first row:
>
> a<-data.frame(row=c("B","C","B"),column=c(2,2,10),assay=c("
> Assay1","Assay1","Assay1"),plate=c(1,1,1),stringsAsFactors=FALSE)
> apply(a[1:2,],1,function(x) { all(x==a[1,]) })
> apply(a[1:3,],1,function(x) { all(x==a[1,]) })
> > >     1     2
>  TRUE FALSE
> >     1     2     3
> FALSE FALSE FALSE
> >
>
> The second result is not right, it should be TRUE FALSE FALSE
>
> Am I doing something wrong or is this a bug?  With other inputs it seems
> to work ok
>
> Here is my sessionInfo()
> > sessionInfo()
> R version 3.2.5 (2016-04-14)
> Platform: x86_64-redhat-linux-gnu (64-bit)
> Running under: CentOS release 6.9 (Final)
>
> locale:
>  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> >
>
> Thank you,
> Ramiro
>
>
>
> Ramiro Barrantes Ph.D.
> Precision Bioassay, Inc.
> 431 Pine St., Suite 110
> Burlington, VT 05401
> 802 865 0155
> 802 861 2365 FAX
> www.precisionbioassay.com<https://west.exch023.serverdata.
> net/owa/redir.aspx?SURL=wN3KzpoKXAcetH7sTOTnSyfg-
> iAXFIinpPUtRcduCFCtkgZrUSDTCGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwA
> HIAZQBjAGkAcwBpAG8AbgBiAGkAbwBhAHMAcwBhAHkALgBjAG8AbQA.&URL=
> http%3a%2f%2fwww.precisionbioassay.com>
> [hidden email]
>
> CONFIDENTIALITY NOTICE: This email, including any attach...{{dropped:9}}
>
> ______________________________________________
> [hidden email] mailing list -- To UNSUBSCRIBE and more, see
> 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.
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
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.
Loading...