我是R的新手
我有一个有A和B列的数据框架STAT.VECTORS,我需要在STAT.VECTORS中添加列C,以便Ci = func( Ai,Bi )
在R中,最有效的语法方法是什么?
任何将解扩展为Ci = func( Ai-1,Bi-2 )的方法
有了开发人员背景,我会创建一个循环并将值赋值给C。我希望从R:)中得到更好的结果。)
更新
下面的例子应该详细说明我的问题。循环选择相对于当前行的特定元素,并将它们传递给函数。
我可以使用apply系列在没有循环的情况下执行下面的循环逻辑吗?
l=50
func=function(x,y){return(y-x)}
a=sample(1:6,l,replace = T)
b=sample(1:6,l,replace = T)
c=sample(1:6,l,replace = T)
d=sample(1:6,l,replace = T)
e=sample(1:6,l,replace = T)
f=vector("numeric",l)
test.data = cbind(a,b,c,d,e,f)
for(i in 2:l)
{
test.data[i,"f"]= func(test.data[i,"d"],test.data[i-1,"b"])
}
test.data发布于 2016-04-08 13:57:39
我创建了一个data.frame,
dfx <- data.frame(a = sample(15), b = sample(15))
dfx$c <- apply(dfx, 1, sum)这将添加一个列c,其之和为a和b。与sum不同的是,您可以使用任何函数,这些函数具有一定的值范围,并且只有一个输出。
dfx$c <- apply(dfx, 1, <some fun>)https://stackoverflow.com/questions/36500958
复制相似问题