首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何根据其他列中的值计算列?

R:如何根据其他列中的值计算列?
EN

Stack Overflow用户
提问于 2016-04-08 13:33:09
回答 1查看 927关注 0票数 0

我是R的新手

我有一个有A和B列的数据框架STAT.VECTORS,我需要在STAT.VECTORS中添加列C,以便Ci = func( Ai,Bi )

在R中,最有效的语法方法是什么?

任何将解扩展为Ci = func( Ai-1,Bi-2 )的方法

有了开发人员背景,我会创建一个循环并将值赋值给C。我希望从R:)中得到更好的结果。)

更新

下面的例子应该详细说明我的问题。循环选择相对于当前行的特定元素,并将它们传递给函数。

我可以使用apply系列在没有循环的情况下执行下面的循环逻辑吗?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2016-04-08 13:57:39

我创建了一个data.frame,

代码语言:javascript
复制
dfx <- data.frame(a = sample(15), b = sample(15))

dfx$c <- apply(dfx, 1, sum)

这将添加一个列c,其之和为ab。与sum不同的是,您可以使用任何函数,这些函数具有一定的值范围,并且只有一个输出。

代码语言:javascript
复制
dfx$c <- apply(dfx, 1, <some fun>)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36500958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档