[R] c(), rbind and cbind functions - why type of resulting object is double
Hello Everyone, I am using R 2.15.0 and I came across this behaviour and I was wondering why I don't get an integer vector or and integer matrix with the following code: z - c(1, 2:0, 3, 4:8) typeof(z) [1] double z - rbind(1, 2:0, 3, 4:8) Warning message: In rbind(1, 2:0, 3, 4:8) : number of columns of result is not a multiple of vector length (arg 2) typeof(z) [1] double z - matrix(c(1, 2:0, 3, 4:8), nrow = 5) typeof(z) [1] double Shouldn't be typeof integer? According to the online help if everything is integer the output should be integer. But if I do this, I get an integer matrix. z - matrix(1:20, nrow = 5) typeof(z) [1] integer Thanks! Lourdes [[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.
Re: [R] c(), rbind and cbind functions - why type of resulting object is double
I was wondering why I don't get an integer vector or and integer matrix with the following code: z - c(1, 2:0, 3, 4:8) typeof(z) [1] double It is because the literals 1 and 3 have type double. Append L to make them literal integers. typeof(c(1L, 2:0, 3L, 4:8)) [1] integer The colon function (:) returns an integer vector if it can do so without giving a numerically incorrect answer. typeof(1.0:3.0) [1] integer typeof(1.5:3.5) [1] double Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Lourdes Peña Castillo Sent: Tuesday, January 22, 2013 9:26 AM To: r-help@r-project.org Subject: [R] c(), rbind and cbind functions - why type of resulting object is double Hello Everyone, I am using R 2.15.0 and I came across this behaviour and I was wondering why I don't get an integer vector or and integer matrix with the following code: z - c(1, 2:0, 3, 4:8) typeof(z) [1] double z - rbind(1, 2:0, 3, 4:8) Warning message: In rbind(1, 2:0, 3, 4:8) : number of columns of result is not a multiple of vector length (arg 2) typeof(z) [1] double z - matrix(c(1, 2:0, 3, 4:8), nrow = 5) typeof(z) [1] double Shouldn't be typeof integer? According to the online help if everything is integer the output should be integer. But if I do this, I get an integer matrix. z - matrix(1:20, nrow = 5) typeof(z) [1] integer Thanks! Lourdes [[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. __ 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.
Re: [R] c(), rbind and cbind functions - why type of resulting object is double
One place that talks about what Bill says is: http://www.burns-stat.com/documents/tutorials/impatient-r/more-r-key-objects/more-r-numbers/ Pat On 22/01/2013 17:35, William Dunlap wrote: I was wondering why I don't get an integer vector or and integer matrix with the following code: z - c(1, 2:0, 3, 4:8) typeof(z) [1] double It is because the literals 1 and 3 have type double. Append L to make them literal integers. typeof(c(1L, 2:0, 3L, 4:8)) [1] integer The colon function (:) returns an integer vector if it can do so without giving a numerically incorrect answer. typeof(1.0:3.0) [1] integer typeof(1.5:3.5) [1] double Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Lourdes Peña Castillo Sent: Tuesday, January 22, 2013 9:26 AM To: r-help@r-project.org Subject: [R] c(), rbind and cbind functions - why type of resulting object is double Hello Everyone, I am using R 2.15.0 and I came across this behaviour and I was wondering why I don't get an integer vector or and integer matrix with the following code: z - c(1, 2:0, 3, 4:8) typeof(z) [1] double z - rbind(1, 2:0, 3, 4:8) Warning message: In rbind(1, 2:0, 3, 4:8) : number of columns of result is not a multiple of vector length (arg 2) typeof(z) [1] double z - matrix(c(1, 2:0, 3, 4:8), nrow = 5) typeof(z) [1] double Shouldn't be typeof integer? According to the online help if everything is integer the output should be integer. But if I do this, I get an integer matrix. z - matrix(1:20, nrow = 5) typeof(z) [1] integer Thanks! Lourdes [[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. __ 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. -- Patrick Burns pbu...@pburns.seanet.com twitter: @portfolioprobe http://www.portfolioprobe.com/blog http://www.burns-stat.com (home of 'Impatient R' and 'The R Inferno') __ 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.