У меня есть quanteda
словарь, который я хочу случайным образом разделить на n
части.
dict <- dictionary(list(positive = c("good", "amazing", "best", "outstanding", "beautiful", "wonderf*"),
negative = c("bad", "worst", "awful", "atrocious", "deplorable", "horrendous")))
Я пытался использовать функцию split
, например, такую: split(dict, f=factor(3))
, но не удалось.
Я хотел бы вернуть три словаря, но я получаю
$`3`
Dictionary object with 2 key entries.
- [positive]:
- good, amazing, best, outstanding, beautiful, wonderf*
- [negative]:
- bad, worst, awful, atrocious, deplorable, horrendous
РЕДАКТИРОВАТЬ
Я включил другую запись, содержащую *
всловарь. Решение, предложенное Кеном Бенуа , выдает ошибку в этом случае, но в остальном работает отлично.
Требуемый вывод выглядит примерно так:
> dict_1
Dictionary object with 2 key entries.
- [positive]:
- good, wonderf*
- [negative]:
- deplorable, horrendous
> dict_2
Dictionary object with 2 key entries.
- [positive]:
- amazing, best
- [negative]:
- bad, worst
> dict_3
Dictionary object with 2 key entries.
- [positive]:
- outstanding, beautiful
- [negative]:
- awful, atrocious
В случае, есликоличество записей не может быть разделено на n
без остатков, у меня нет спецификации, но в идеале Я мог бы решить, что я хочу (i) «остаток» отдельно или (ii) что я хочу всезначения, которые будут распределены (в результате чего некоторые расщепления будут немного больше).