1
我正在使用dplyr的mutate_if将因子列转换为字符,但如果没有因素列,则它会将所有内容都更改为字符。见下面如果所有列的谓词为FALSE,则dplyr mutate_if不起作用
> x <- data.frame(a = c(1,2,3), b = c(4,5,6))
> str(x)
'data.frame': 3 obs. of 2 variables:
$ a: num 1 2 3
$ b: num 4 5 6
> str(mutate_if(x, is.factor, as.character))
'data.frame': 3 obs. of 2 variables:
$ a: chr "1" "2" "3"
$ b: chr "4" "5" "6"
我能够做
if(length(dplyr:::probe_colwise_names(x, is.factor)) > 0)
x <- mutate_if(x, is.factor, as.character)
,以避开它,但我做错了什么或这是dplyr的错误吗?
哪个版本dplyr的是你吗?它按照我的意图工作。 'packageVersion('dplyr')'0.5.0.9000'' – GGamba
我使用的是0.5.0,我认为它是CRAN上的最新版本。我猜0.5.0.9000是从github安装的版本,并没有在CRAN上发布? – user1165199
是的,'x.x.x.9xxx'是开发版本。 – Axeman