嗨,我有一个实用功能,可以将行插入到下面的数据框中。如果我手动写出公式,我会写一些类似的东西
newframe=rbind(oldframe[1:rownum,],row_to_insert=row_to_insert,oldframe[(rownum+1:nrow(oldframe),]
来命名row_to_insert
。有人可以告诉我如何在函数中执行此操作吗?
谢谢
insertrows=function (x, y, rownum)
{
newframe = rbind(y[1:rownum, ], x, y[(rownum + 1):nrow(y),
])
return(data.frame(newframe))
}
下面添加的一些基础数据的 MWE
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)