R减少代码格式

时间:2016-01-21 23:36:52

标签: r

我会尝试解释我需要帮助的地方。

示例:我想在我的数据框"transactionTableMergeCost"上添加一个设计参数 这是我尝试这样做的:

transactionTableMergeCost$roi<-(transactionTableMergeCost$revenue-transactionTableMergeCost$spend)/transactionTableMergeCost$spend

此代码可以缩短(类似这样吗?)

transactionTableMergeCost->
@this$roi<-(@this$revenue - @this$spend) / @this$spend

或者是最短的第一种方式吗?

1 个答案:

答案 0 :(得分:0)

with()是最简单的IMO方式......使用较短的名字也不会受到伤害!

tbl <- data.frame(revenue=rnorm(n = 10, mean = 10000, sd = 1000),
                  spend=rnorm(n = 10, mean = 9000, sd = 1000))
tbl$roi <- with(data = tbl, expr = (revenue-spend)/spend)
tbl
     revenue     spend         roi
1  10900.029  8286.808  0.31534715
2   8998.217 11095.703 -0.18903590
3  10204.678  9394.989  0.08618313
4  10218.754  9365.915  0.09105775
5   9147.773  8023.789  0.14008150
6   9573.119  8538.044  0.12123093
7   8991.229 10439.290 -0.13871259
8  11588.986  9844.280  0.17723050
9   9535.081  9055.307  0.05298270
10 10280.902  8352.768  0.23083772