Greetings, Running R 3.5.0 under Windows 7 typeof(c(1,"2")) yields "character" as expected. But in d.f <- data.frame(C=c(1,"2")) typeof(d.f$C) yields "integer". Is this a bug? Michael Meyer
inconsistent behaviour of c(...)
5 messages · Michael Meyer, Peter Langfelder, Rui Barradas +1 more
I think your character vector got converted to a factor. See ?options,
section stringsAsFactors:
?stringsAsFactors?: The default setting for arguments of
?data.frame? and ?read.table?.
The default is TRUE, so strings get converted to factors when building
data frames.
Set options(stringsAsFactors=FALSE) and try again.
Peter
On Fri, Jul 19, 2019 at 12:15 AM Michael Meyer via R-devel
<r-devel at r-project.org> wrote:
Greetings, Running R 3.5.0 under Windows 7 typeof(c(1,"2")) yields "character" as expected. But in d.f <- data.frame(C=c(1,"2")) typeof(d.f$C) yields "integer". Is this a bug? Michael Meyer
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Hello, A way to see this is with ?class # OP's code typeof(c(1,"2")) # "character" d.f <- data.frame(C=c(1,"2")) typeof(d.f$C) # "integer" # And check the objects' classes class(c(1,"2")) # "character" class(d.f$C) # "factor" Hope this helps, Rui Barradas ?s 08:19 de 19/07/19, Peter Langfelder escreveu:
I think your character vector got converted to a factor. See ?options,
section stringsAsFactors:
?stringsAsFactors?: The default setting for arguments of
?data.frame? and ?read.table?.
The default is TRUE, so strings get converted to factors when building
data frames.
Set options(stringsAsFactors=FALSE) and try again.
Peter
On Fri, Jul 19, 2019 at 12:15 AM Michael Meyer via R-devel
<r-devel at r-project.org> wrote:
Greetings, Running R 3.5.0 under Windows 7 typeof(c(1,"2")) yields "character" as expected. But in d.f <- data.frame(C=c(1,"2")) typeof(d.f$C) yields "integer". Is this a bug? Michael Meyer
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
I forgot there is also ?mode. mode(c(1,"2")) # "character" mode(d.f$C) # "numeric" (not "integer") Rui Barradas ?s 11:54 de 19/07/19, Rui Barradas escreveu:
Hello, A way to see this is with ?class # OP's code typeof(c(1,"2")) # "character" d.f <- data.frame(C=c(1,"2")) typeof(d.f$C)??? # "integer" # And check the objects' classes class(c(1,"2")) # "character" class(d.f$C)??? # "factor" Hope this helps, Rui Barradas ?s 08:19 de 19/07/19, Peter Langfelder escreveu:
I think your character vector got converted to a factor. See ?options, section stringsAsFactors: ????? ?stringsAsFactors?: The default setting for arguments of ?????????? ?data.frame? and ?read.table?. The default is TRUE, so strings get converted to factors when building data frames. Set options(stringsAsFactors=FALSE) and try again. Peter On Fri, Jul 19, 2019 at 12:15 AM Michael Meyer via R-devel <r-devel at r-project.org> wrote:
Greetings, Running R 3.5.0 under Windows 7 typeof(c(1,"2")) yields "character" as expected. But in d.f <- data.frame(C=c(1,"2")) typeof(d.f$C) yields "integer". Is this a bug? Michael Meyer
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
I was trying to use one of the headers in R_ext/, but had trouble. I determined that it was due to using restricted keywords as variable names. So to load in the header, I needed to do this: #define class klass #define private krivate #include <R_ext/Connections.h> #undef class #undef private I know that the altrep.h header previously had the same issue, but was fixed. Could this be changed as well?