Обращение к новым столбцам внутри преобразования

У меня есть фрейм данных со столбцами, обозначенными A, B и C. Я хочу добавить новые столбцы, которые рассчитываются на основе существующих столбцов И самих новых столбцов. Чтобы добиться этого, я попытался использовать функцию преобразования следующим образом:

Data = transform(Data,
          NewD = A + B,
          NewE = C * NewD
)

Но это дает ошибку:

Ошибка в eval (expr, envir, enclos): объект 'NewD' не найден

Я также пробовал функцию cbind вроде этого:

NewD = Data$A + Data$B,
NewE = Data$C * New$D
Data=cbind(Data,NewD,NewE)

Но это становится громоздким, когда количество дополнительных столбцов (функций) растет.

Как я могу ссылаться на NewD внутри функции преобразования, или есть лучший способ применить несколько таких функций. Я хочу, чтобы данные содержали столбцы A, B, C, NewD и NewE без необходимости многократно вызывать функцию преобразования.

8
задан Look Left 16 July 2011 в 12:58
поделиться