функция дискретизации, выдающая внезапную ошибку - PullRequest
0 голосов
/ 06 ноября 2019

Я использую R 3.6.1. Я хочу дискретизировать непрерывную переменную. Я попытался использовать функцию дискретизации, как в https://www.rdocumentation.org/packages/arules/versions/1.6-4/topics/discretize. Но выдает ошибку.

library(infotheo)
data(iris)
x <- iris[,1]
table(discretize(x, breaks = 3))
Error in discretize(x, breaks = 3) : unused argument (breaks = 3)

Ответы [ 3 ]

1 голос
/ 06 ноября 2019

Похоже, вы используете infotheo::discretize, у которого нет аргумента breaks. Вот параметры, приведенные в документации:

# library(infotheo)
discretize( X, disc="equalfreq", nbins=NROW(X)^(1/3) )

Пакет, на который вы ссылаетесь, arules, а arules::discretize имеет аргумент breaks:

# library(arules)
discretize(x, method = "frequency", breaks = 3, 
  labels = NULL, include.lowest = TRUE, right = FALSE, dig.lab = 3,
  ordered_result = FALSE, infinity = FALSE, onlycuts = FALSE, 
  categories, ...)
1 голос
/ 06 ноября 2019

в R есть много библиотек, вы пытаетесь использовать функцию discretize из пакета arules . Если вы загрузили оба пакета:

library(infotheo)
library(arules)
data(iris)
x <- iris[,1]
table(arules::discretize(x, breaks = 3))

или

table(infotheo::discretize(x, nbins = 3))
1 голос
/ 06 ноября 2019

Вы загружаете не в тот пакет. Функция, на которую вы ссылаетесь - от arules:

library(infotheo)
library(arules)

x <- iris[,1]
table(arules::discretize(x, breaks = 3)) #works
table(infotheo::discretize(x, breaks = 3)) # does not have a breaks argument
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...