Я использую пакет gramEvol для генерации выражений, которые затем используются для дальнейшей обработки данных.
Иногда результат содержит повторяющиеся выражения.
Как мне сохранить только уникальные выражения? (использование уникальной функции не работает, так как она не определена для выражений)
Вот воспроизводимый пример, демонстрирующий проблему:
data("iris")
expr <- sapply(colnames(iris), as.expression)
expr
#expression(Sepal.Length = "Sepal.Length", Sepal.Width = "Sepal.Width",
# Petal.Length = "Petal.Length", Petal.Width = "Petal.Width",
# Species = "Species")
unique(expr)
#Error in unique.default(expr) :
# unimplemented type 'expression' in 'HashTableSetup'
expr <- c(expr, expr) # concat works
expr
#expression(Sepal.Length = "Sepal.Length", Sepal.Width = "Sepal.Width",
# Petal.Length = "Petal.Length", Petal.Width = "Petal.Width",
# Species = "Species", Sepal.Length = "Sepal.Length", Sepal.Width = #"Sepal.Width", Petal.Length = "Petal.Length", Petal.Width = "Petal.Width",
# Species = "Species")
unique(expr)
#Error in unique.default(expr) :
# unimplemented type 'expression' in 'HashTableSetup'