1
factor列を文字に変換するためにdplyrのmutate_ifを使用していますが、要素列がない場合はすべてを文字に変更します。述語がすべての列に対してFALSEの場合、dplyr mutate_ifは機能しません
if(length(dplyr:::probe_colwise_names(x, is.factor)) > 0)
x <- mutate_if(x, is.factor, as.character)
を行うことによって、それラウンドを取得することができ
> 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"
アム下記参照しかし、私は何か間違ったことをやっているか、これはdplyrのバグですか?
バージョンは、あなたがオンになっていますか?それは私のために意図されたように働いています。 'packageVersion( 'dplyr') '0.5.0.9000'' – GGamba
私は0.5.0を使用しています。これはCRANの最新バージョンだと思います。私は0.5.0.9000がgithubからインストールされたバージョンで、まだCRANにはリリースされていないと思いますか? – user1165199
はい、 'x.x.x.9xxx'は開発版です。 – Axeman