Эта функция ничего не знает о столбцах. Он развертывается с помощью функции apply
, у которой есть второй аргумент, определяющий, работать ли со строками или столбцами. Эта функция получает одну строку кадра данных как вектор, и pastefun
объединяет значения, используя collapse=" "
. А функция [<-
- это то, что помещает значения из вызова вставки в столбец кадра данных.
Функция paste
обычно работает в векторизованном виде, возвращая вектор длины, определяемый длина его аргументов. Аргумент collapse
, однако, изменяет его работу и «сворачивает» все значения и, таким образом, возвращает вектор символов длины 1 (по одному на каждую строку при развертывании с помощью apply( ..., 1, ...}
Так что это действительно apply
-функция, которая получает кредит за действия по строкам над фреймом данных, и [<-
функция, которая получает кредит за создание нового столбца.