Как R заключает в круглые скобки? Как и большинство других языков программирования, это встроенные операторы, и я обычно использую их, не задумываясь.Функция круглых скобок (круглые скобки) в R
Однако я столкнулся с этим примером. Скажем, у нас есть data.table
в R, и я бы хотел применить функцию к ее столбцам. Тогда я мог бы написать:
dt <- data.table(my_data)
important_cols <- c("col1", "col2", "col5")
dt[, (important_cols) := lapply(.SD, my_func), .SDcols = important_cols]
Очевидно, что я не могу пренебрегать скобками:
dt[, important_cols := lapply(.SD, my_func), .SDcols = important_cols]
как что бы ввести новый объект под названием important_cols
к моему data.table
, вместо того, чтобы модифицировать свои существующие столбцы на месте.
Мой вопрос: почему делает() вокруг вектора «развернуть» его?
Этот вопрос, возможно, лучше сформулирован и назван. Но тогда я, вероятно, нашел бы ответ Гуглингом, если бы знал эту терминологию, когда я ее спрашивал, поэтому я здесь.
Пока мы на эту тему, если кто-то может указать на различия между [], {}, и т.д., и как они должны быть использованы, который был бы оценен тоже :)
Открытые круглые скобки указывают на начало списка аргументов и маркер слева от открытого Paren должен быть именем функции. Если в левой части открытого парагона нет лексема, это неявный вызов 'eval'. Вы не должны использовать синтаксис data.table для изучения синтаксиса R. Это действительно пакет kewl, но синтаксис полностью отличается от '[.data.table' –
. Вы найдете много информации о помощи для' ['using'? "[" '. Также есть (но не много) информация о '? '{" '. – Molx