Добавление нескольких столбцов из вектора символов в таблицу data.table

#r #data.table

Вопрос:

Как я могу добавить столбцы a, b, c , содержащиеся в new_cols data.table df , в значение NA ? Предпочтительно хорошее решение без петли.

 df lt;- data.table(iris) new_cols lt;- c("a", "b", "c")  

Ответ №1:

data.table Синтаксис будет заключаться в присвоении ( := ) именам NA столбцов, указанным в объекте new_cols

 library(data.table) df[, (new_cols) := list(NA)]  

-выход

 gt; head(df)  Sepal.Length Sepal.Width Petal.Length Petal.Width Species a b c 1: 5.1 3.5 1.4 0.2 setosa NA NA NA 2: 4.9 3.0 1.4 0.2 setosa NA NA NA 3: 4.7 3.2 1.3 0.2 setosa NA NA NA 4: 4.6 3.1 1.5 0.2 setosa NA NA NA 5: 5.0 3.6 1.4 0.2 setosa NA NA NA 6: 5.4 3.9 1.7 0.4 setosa NA NA NA