我正在尝试使用mutate_if
包下的函数dplyr()
将所有字符列转换为因子列。我知道这种转换的替代方法,但我很想知道mutate_if
是如何工作的。我尝试了以下命令:
df <-df %>% mutate_if(is.character,as.factor)
但是我正在写一条消息:
could not find function mutate_if
我重新安装了dplyr()
,但我仍然收到相同的错误消息。
答案 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)