R comment puis-je calculer la différence entre les lignes dans un bloc de données

Voici un exemple simple de mon problème:

> 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

Quelqu'un peut me dire pourquoi cette erreur se produit?

  • notez que aPaulT répondu à votre question et d'aider le site si vous avez sélectionné comme correcte en cliquant sur la coche. Ou l'un des autres excellentes solutions, si vous pensez que cela serait plus utile.
InformationsquelleAutor ManInMoon | 2013-04-25