[R] building transformation macro
David Winsemius
dwinsemius at comcast.net
Thu May 24 15:46:22 CEST 2012
On May 24, 2012, at 9:06 AM, David Winsemius wrote:
>
> On May 24, 2012, at 4:43 AM, davv.vikas wrote:
>
>> Hi All,
>>
>> I am writing a macro which perform following functionality
>> 1) take a file say excel or csv
>> 2)read all the labels
>> 3) dynamically genrate square,square-root,log of each column with
>> appropiate column name and write it to a new file,
>>
>> i am stuck at dynamically genrateing the column names like
>> Revenue_square
>> etc.
>>
>> Exmaple " i have a excel with 3 columns Revenue, cost & profit
>> Now my Macro should be able to read the values and for each coulmn
>> and
>> perform square,square root and log of Revenue, cost & profit and
>> write to
>> excel with column names as Revenue_square,Revenue_squareroot,
>> Revenue_log
>> cost_square etc...
>>
>> Below is my code
>>
>> test$Rev_square = test[c(1)]^2
>>
> I would use test[[1]]^2. Generally one wants to pull the vector out
> of the list "container".
>>
>> data=read.delim2("//ARLMSAN01/CTRX_Data/vikasK.sharma/Desktop/
>> balancesheet_example.csv",header=T,sep=",")
>>
>> headings = names(data)
>> show (headings)
>> HEADINGS = toupper(headings)
>> # Perhaps replacing your for-loop body with this
> for ( i in 1:length(HEADINGS))
>> {
>>
> assign(paste(HEADINGS[i], "Rev_Sqr", sep=""), data[[i]]^2)
>>
>> }
>
> The generalization to additional transformations seems obvious.
The solution offered in StackOverflow by Greg Snow is better.
AND please stop cross-posting. It is not specifically deprecated on
SO, but it is on Rhelp.
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list