How do I introduce row names to a function in R
        Posted  
        
            by 
                Tahnoon Pasha
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Tahnoon Pasha
        
        
        
        Published on 2012-10-31T08:54:36Z
        Indexed on 
            2012/10/31
            17:00 UTC
        
        
        Read the original article
        Hit count: 322
        
r
|user-defined-functions
Hi I have a utility function I've put together to insert rows into a dataframe below. If I was writing out the formula by hand I would put something like
newframe=rbind(oldframe[1:rownum,],row_to_insert=row_to_insert,oldframe[(rownum+1:nrow(oldframe),] to name row_to_insert. Could someone tell me how to do this in a function?
Thanks
insertrows=function (x, y, rownum) 
{
    newframe = rbind(y[1:rownum, ], x, y[(rownum + 1):nrow(y), 
        ])
    return(data.frame(newframe))
}
MWE of some underlying data added below
financials=data.frame(sales=c(100,150,200,250),some.direct.costs=c(25,30,35,40),other.direct.costs=c(15,25,25,35),indirect.costs=c(40,45,45,50))
oldframe=t(financials)
colnames(oldframe)=make.names(seq(2000,2003,1))
total.direct.costs=oldframe['some.direct.costs',]+oldframe['other.direct.costs',]
newframe=total.direct.costs
n=rownum=3
oldframe=insertrows(total.direct.costs=newframe,oldframe,n)
© Stack Overflow or respective owner