Использование data.table
...
library(data.table)
grid <- expand.grid(
x1 = seq(0, 100)
, x2 = seq(0, 100)
, x3 = seq(0, 100)
)
setDT(grid)
res <- grid[grid[, rowSums(.SD) == 100], ]
res[, summation := rowSums(.SD)]
Результат:
> res[, unique(summation)]
[1] 100
Это также можно сделать в base
, но data.table
быстрее:
library(data.table)
grid <- expand.grid(
x1 = seq(0, 100)
, x2 = seq(0, 100)
, x3 = seq(0, 100)
)
grid2 <- expand.grid(
x1 = seq(0, 100)
, x2 = seq(0, 100)
, x3 = seq(0, 100)
)
setDT(grid)
microbenchmark::microbenchmark(
data.table = {
res <- grid[grid[, rowSums(.SD) == 100], ]
},
base = {
res2 <- grid2[rowSums(grid2) == 100, ]
}
)
Unit: milliseconds
expr min lq mean median uq max neval cld
data.table 59.41157 89.6700 109.0462 107.7415 124.2675 183.9730 100 a
base 65.70521 109.6471 154.1312 125.4238 156.9168 611.0169 100 b
Что Вы пытаетесь выполнить, который существенно отличается для защищенных пользователей? Я видел, что некоторое окно открыть проблемы, но иначе, убрать JavaScript имеет тенденцию быть менее затронутым. Если Вы найдете, что блок кода не выполнится, почему бы не проверка после предпринятого выполнения, чтобы видеть, является ли документ состоянием, то Вы ожидаете, и предупреждение если нет.
Если это - это с помощью ActiveX, Миссисипи имеет Защищенный режим API: http://msdn.microsoft.com/en-us/library/ms537316.aspx
Защищенный режим настраиваем, таким образом, у Вас действительно нет надежного способа обнаружить его на основе нарушения действия. И многие пользователи отключают контроль учётных записей, таким образом обнаруживание через версию не будет работать ни один (не говоря уже о Вас, может страдать от той же головной боли с IE 8. Всегда лучше всего, чтобы протестировать, если что-то работало вместо, принимают версией.)
Adobe Flash может вести себя по-другому (или не как ожидалось) в защищенном режиме Vista IE7. Намерение состоит в том, чтобы предоставить эту обратную связь пользователю.
Я рассмотрел документацию MSDN Защищенного режима API от 6t7m4, и если я мог бы назвать ieframe.dll из JavaScript, такого как:
var axo = new ActiveXObject("ieframe.dll");
Я смог бы получить доступ IEIsProtectedModeProcess()
функция, но я полагаю, что это недоступно из-за соображений безопасности.