Какова цель точки перед переменными (т.е. "Переменные" ) в пакете R Plyr?

Какова цель точки перед переменными (т.е. "переменные" ) в пакете R Plyr?

например, из файла справки R:

ddply(.data, .variables, .fun = NULL, ...,
    .progress = "none", .drop = TRUE, .parallel = FALSE)

Любая помощь будет принята с благодарностью

Ответ 1

Могут произойти две вещи, которые вас путают.

Одна из них - это функция . в пакете "plyr" . Функция . позволяет использовать переменную как ссылку, а не ссылаться на значение (значения), которое содержит переменная. Например, в некоторых функциях мы хотим ссылаться на объект x, а не на значение, сохраненное в x. В пакете "base" нет простого и сжатого способа сделать это, поэтому мы используем пакет "plyr" , чтобы сказать .(x). Функции "plyr" сами используют это так:

ddply(data, .(row_1), summarize, total=sum(row_1))

Если мы не использовали функцию ., "ddply" будет жаловаться, потому что "row_1" содержит много значений, когда мы действительно хотим просто ссылаться на объект.

Другой "." в действии здесь используется так, как люди используют его как символ в именах аргументов функции. Я не уверен, что такое происхождение, но многие люди, похоже, делают это просто, чтобы указать, какие переменные являются аргументами функции и какие переменные являются только частью внутреннего кода функции. "." это просто еще один символ.

Ответ 2

Из http://www.jstatsoft.org/v40/i01

Обратите внимание, что все аргументы начинаются с. Это предотвращает конфликты имен с аргументами функции обработки и помогает визуально разграничить аргументы, которые управляют повторением из аргументов, которые управляют отдельными шагами. Некоторые функции в базе R используют все прописные буквы аргументов для этой цели, но я думаю, что этот метод легче печатать и читать.