Say I have a dataframe data with 5 variables, var1,var2,var3,var4,var5. Imagine I want to do the following operation:
sqrt(data$var2)*(data$var4 data$var1)/data$var3 data$var5/log(data$var3)
Is there a simpler way to just call the formula as follows?
sqrt(var2)*(var4 var1)/var3 var5/log(var3)
Perhaps within another function? apply or the like? Can't get how to do it properly. Removing variables from the dataframe is not a desirable option.
CodePudding user response:
Just wrap using with
with(data, sqrt(var2)*(var4 var1)/var3 var5/log(var3))
Or another option is transform
transform(data, new = sqrt(var2)*(var4 var1)/var3 var5/log(var3)))
Another option which is undesirable is creating column names as objects in the global env with attach. Then, can use the objects directly. But, it is not recommended because this will pollute the env with lots of objects and can have some side effects
attach(data)
sqrt(var2)*(var4 var1)/var3 var5/log(var3)
