переименование выходного столбца с plyr пакетом в R

netem усиливает функциональность, уже встроенную в Linux и утилиты пространства пользователя для моделирования сетей. Это на самом деле, что ответ Mark's отсылает к другим именем.

примеры на [1 111] их домашняя страница уже шоу, как можно достигнуть того, что Вы попросили:

Примеры

задержки глобальной вычислительной сети Эмуляции

Это - самый простой пример, он просто добавляет установленную сумму задержки со всеми пакетами, выходящими из локального Ethernet.

# tc qdisc add dev eth0 root netem delay 100ms

Теперь простой тест ping для хостинга в локальной сети должен показать увеличение 100 миллисекунд. Задержка ограничена разрешением часов ядра (Гц). На большинстве 2,4 системы системные часы работают в 100В Гц, который позволяет задержки инкрементов 10В мс. На 2,6, значение является параметром конфигурации от 1 000 до 100В Гц.

Более поздние примеры просто изменяют параметры, не перезагружая qdisc

, который Очень широкие сети показывают изменчивости, таким образом, возможно добавить случайное изменение.

# tc qdisc change dev eth0 root netem delay 100ms 10ms

Это заставляет добавленную задержку быть 100 В± 10В мс. Изменение сетевой задержки не чисто случайно, так для эмуляции этого также существует значение корреляции.

# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%

Это заставляет добавленную задержку быть 100 В± 10В мс со следующим случайным элементом, зависящим 25% от последнего. Это не истинная статистическая корреляция, но приближение.

распределение Задержки

Как правило, задержка сети не универсальна. Более распространено использовать что-то как нормальное распределение для описания вариации в задержке. Дисциплина netem может взять таблицу для определения неоднородного распределения.

# tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal

фактические таблицы (нормальный, Парето, paretonormal) сгенерированы как часть iproute2 компиляции и помещены в/usr/lib/tc; таким образом, это возможно с некоторым усилием сделать Ваше собственное распределение на основе экспериментальных данных.

Потеря пакетов

Случайная потеря пакетов определяется в команде 'tc' в проценте. Самое маленькое ненулевое значение:

2 в€ ’32 глоток> = 0,0000000232%

# tc qdisc change dev eth0 root netem loss 0.1%

Это заставляет 1/10-й из процента (т.е. 1 из 1 000) пакеты быть случайным образом отброшенным.

дополнительная корреляция может также быть добавлена. Это заставляет генератор случайных чисел быть менее случайным и может использоваться для эмуляции пакетных пакетных потерь.

# tc qdisc change dev eth0 root netem loss 0.3% 25%

Это заставит 0,3% пакетов быть потерянным, и каждая последовательная вероятность зависит четвертью от последней.

Probn = 0,25 Г — Probn-1 + 0,75 Г — Случайный

Примечание , которое необходимо использовать tc qdisc add, если у Вас нет правил для того интерфейса или tc qdisc change, если у Вас уже есть правила для того интерфейса. Попытка использовать tc qdisc change в интерфейсе без правил даст ошибку RTNETLINK answers: No such file or directory.

11
задан JD Long 26 October 2009 в 14:37
поделиться

2 ответа

Кажется, это работает:

> groupAcres <- ddply(mydata, c("state"), function(df) c(myName=sum(df$acres)))
> groupAcres
  state   myName
1     A 56.87973
2     B 57.84451
3     C 52.82415
11
ответ дан 3 December 2019 в 02:52
поделиться

Используйте суммировать (или суммировать):

  groupAcres <- ddply(mydata, "state", summarise, 
     myName = sum(acres))
19
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: