【发布时间】:2019-04-03 02:25:46
【问题描述】:
我的系统是 R 3.5.3 和 Rstudio 1.1.463
设置数据框如下:
df <- data.frame(
cola = c('a','b','c','d','e','e','1',NA,'c','d'),
colb = c("A",NA,"C","D",'a','b','c','d','c','d'),stringsAsFactors = FALSE)
cats<-c('a','b','c','d','e','f','1')
然后,运行df['cola'] <- lapply(df['cola'], function(x) factor(x,levels=cats,exclude = NULL,ordered = FALSE,nmax=6)),得到预期的结果。
如果将factor改为as.factor基于on this post,运行df['cola'] <- lapply(df['cola'], function(x) as.factor(x,levels=cats,exclude = NULL,ordered = FALSE,nmax=6)),会报错如下:
Error in as.factor(x, levels = cats, exclude = NULL, ordered = FALSE, :
unused arguments (levels = cats, exclude = NULL, ordered = FALSE, nmax = 6)
有什么问题?
【问题讨论】:
-
这些参数在
factor而不是as.factor。 -
as.factor is a wrapper for factor在那个帖子中误导了我 -
这意味着
as.factor“自动”执行您在factor中手动执行的操作。
标签: r