I have a data frame with mixed data types (integer, character, and logical) which I'm trying to cluster with daisy.
I'm using:
gower_dist <- daisy(relchoice, metric = "gower")
and getting:
Error in daisy(relchoice, metric = "gower") :
invalid type character for column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16,
21, 29, 31, 32invalid type character for column numbers 3, 4, 5, 7, 8, 10,
13, 14, 15, 16, 21, 29, 31, 32invalid type character for column numbers 3,
4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31, 32invalid type character for
column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31, 32invalid type
character for column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31,
32invalid type character for column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15,
16, 21, 29, 31, 32invalid type character for column numbers 3, 4, 5, 7, 8,
10, 13, 14, 15, 16, 21, 29, 31, 32invalid type character for column numbers
3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31, 32invalid type character for
column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31, 32invalid type
character for column numbers 3, 4, 5, 7, 8, 10, 13, 14, 15, 16, 21, 29, 31,
32
Would love some help with this.
A quick way of solving multiple problematic columns is to make sure the data frame is declared with stringsAsFactors set to TRUE:
data.frame()'s stringsAsFactors parameter default was set to FALSE in R version 4.0.0+, so this needs to be set specifically.