> On Jul 15, 2020, at 4:31 AM, andy elprama <andy.elpr...@gmail.com> wrote:
> 
> Dear R-users,
> 
> Something strange happened within the command "levels"
> 
> R version 3.6.1
> name <- c("a","b","c")
> values <- c(1,2,3)
> data <- data.frame(name,values)
> levels(data$name)
> [1] "a" "b" "c"
> 
> R version 4.0
> name <- c("a","b","c")
> values <- c(1,2,3)
> data <- data.frame(name,values)
> levels(data$name)
> [1] NULL
> 
> What is happening here?


Hi,

The default value for 'stringsAsFactors' for data.frame() and read.table() 
changed from TRUE to FALSE in version 4.0.0, per the news() file:

"R now uses a stringsAsFactors = FALSE default, and hence by default no longer 
converts strings to factors in calls to data.frame() and read.table()."


Using 4.0.2:

data <- data.frame(name, values, stringsAsFactors = TRUE)

> levels(data$name)
[1] "a" "b" "c"


If you see behavioral changes from one version of R to another, especially 
major version increments, check the news() file.

Regards,

Marc Schwartz

 
______________________________________________
R-help@r-project.org 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.

Reply via email to