Я пытаюсь изменить строки и столбцы в data.table, используя set
для эффективности.
В документации по set
говорится, что аргумент j: "Имя (я) столбца (символ) ) или число (число) (целое число), которому должно быть присвоено значение, если столбец (столбцы) уже существуют, и только имена столбцов, если они должны быть созданы. "
и значение аргумента:" Список значений замены, назначаемых по ссылке на x [i, j]. "
Однако я получаю сообщение об ошибке. Это пример кода:
iris = as.data.table(iris)
set(iris,i=1L,j=as.integer(1:3),value=list(1:3))
это ошибка, которую я получаю:
Ошибка в наборе (радужная оболочка, i = 1L, j = as.integer (1 : 3), значение = список (1: 3)): Поставлено 3 элемента для назначения 1 элементу столбца «Sepal.Length». Если вы хотите sh «переработать» RHS, используйте rep (), чтобы прояснить это намерение читателям вашего кода.
Я знаю, что могу использовать другие альтернативы для его назначения, но set
НАМНОГО более эффективен. Я хотел бы знать, возможно ли это.
Спасибо!