R如何计算数据帧中的行之间的差异 [英] R how can I calculate difference between rows in a data frame

查看:221
本文介绍了R如何计算数据帧中的行之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是一个简单的问题示例:

Here is a simple example of my problem:

> df <- data.frame(ID=1:10,Score=4*10:1)
> df
       ID Score
    1   1    40
    2   2    36
    3   3    32
    4   4    28
    5   5    24
    6   6    20
    7   7    16
    8   8    12
    9   9     8
    10 10     4
    > diff(df)

Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] : 
  non-numeric argument to binary operator

有谁能告诉我为什么会出现此错误?

Can anyone tell me why this error occurs?

推荐答案

diff需要一个矩阵或一个向量而不是数据帧。尝试

diff wants a matrix or a vector rather than a data frame. Try

data.frame(diff(as.matrix(df)))

这篇关于R如何计算数据帧中的行之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆