首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >行重订差

行重订差
EN

Stack Overflow用户
提问于 2016-12-01 17:58:33
回答 1查看 56关注 0票数 0

我想要确定每一行的差异,并使总差在最后重新组合。下面是一个示例数据集:

代码语言:javascript
复制
DATE <- as.Date(c('2016-11-28','2016-11-29'))
TYPE <- c('A', 'B')
Revenue <- c(2000, 1000)
Sales <- c(1000, 4000)
Price <- c(5.123, 10.234)
Material <- c(10000, 7342)
df<-data.frame(DATE, TYPE, Revenue, Sales, Price, Material)

df

        DATE TYPE Revenue Sales  Price Material
1 2016-11-28    A    2000  1000  5.123    10000
2 2016-11-29    B    1000  4000 10.234     7342

如何计算每一列之间的差异以得出这个总数:

代码语言:javascript
复制
        DATE TYPE Revenue Sales  Price Material
1 2016-11-28    A    2000  1000  5.123    10000
2 2016-11-29    B    1000  4000 10.234     7342
3 DIFFERENCE        -1000  3000  5.111    -2658

我可以很容易地按列来做,但是很难按行来做。

任何帮助都是很好的,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-01 18:00:35

由于'DATE‘是Date类,在继续使用字符串“rbind”之前,我们可能需要将其更改为character。除此之外,对'df‘的数字列进行子集,用lapply循环它,得到差异,与'DATE’和'TYPE‘连接,用原始数据集连接rbind

代码语言:javascript
复制
df$DATE <- as.character(df$DATE)
rbind(df, c(DATE = "DIFFERENCE", TYPE= NA, lapply(df[-(1:2)], diff)))
#        DATE TYPE Revenue Sales  Price Material
#1 2016-11-28    A    2000  1000  5.123    10000
#2 2016-11-29    B    1000  4000 10.234     7342
#3 DIFFERENCE <NA>   -1000  3000  5.111    -2658
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40917344

复制
相关文章

相似问题

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