找不到函数mutate_if

时间:2016-12-09 22:25:19

标签: r dplyr

我正在尝试使用mutate_if包下的函数dplyr()将所有字​​符列转换为因子列。我知道这种转换的替代方法,但我很想知道mutate_if是如何工作的。我尝试了以下命令:

df <-df %>% mutate_if(is.character,as.factor)

但是我正在写一条消息:

  

could not find function mutate_if

我重新安装了dplyr(),但我仍然收到相同的错误消息。

3 个答案:

答案 0 :(得分:2)

当我遇到这个问题时,我也收到了错误消息&#34;没有名为&#39;支柱&#39;&#34;在加载dplyr包时。 (重新安装dplyr似乎没有安装支柱。)安装支柱包可以让事情再次发挥作用。

答案 1 :(得分:0)

df <-df %>% dplyr::mutate_if(is.character,as.factor)

尝试这样。当我遇到相同的错误时,我使用了像这样的mutate函数。

答案 2 :(得分:-2)

没有mutate_if函数。如果你不能提取来自字符类型的变量名称,你可以使用这个很长的那个:

dt1 <- dt1 %>% mutate_each_(funs(as.factor),names(which (sapply(dt1, class) == 'character',arr.ind = TRUE)))

如果你有因子变量列表,请在“varlist”对象中说明,你可以使用这个:

dt1 <- dt1 %>% mutate_each_(funs(as.factor),varlist)