Этот вопрос может быть слишком общим, но я чувствую, что он возникает снова и снова в моей работе и поэтому, вероятно, представляет интерес для других.
Предположим, я хочу создать таблицу данных (или матрицу), котораяоснован на расширении сетки.
library(data.table)
Vmat1 = data.table(expand.grid(c(list(d = 1:5, w = 1:(3)))))
Предположим, однако, что если бы я сделал это, это привело бы к ошибке памяти для истинного набора мощности.Однако есть ограничения, которые я хочу наложить, например:
Если w> 1, то должно быть, что d <3 </p>
Это тогда дает меньший окончательный набор, который будет не приводит к ошибке памяти:
Vmat1[w>1 & d<3 | w==1]
d w
1: 1 1
2: 2 1
3: 3 1
4: 4 1
5: 5 1
6: 1 2
7: 2 2
8: 1 3
9: 2 3
Мой вопрос: возможно ли заранее наложить ограничение при создании сетки?Это слишком дорого, чтобы построить полный набор мощности, а затем кондиционировать и уменьшать.