Déplacement d'une colonne vers le bas par un

Dire que j'ai un data.frame qui ressemble à ce

 df <- data.frame(AAA = rep(c(NA,sample(1:10, 1)),5),
  BBB = rep(c(NA,sample(1:10, 1)),5),
  CCC = rep(c(sample(1:10, 1),NA),5))

> df 
   AAA BBB CCC
1   NA  NA  10
2    3   7  NA
3   NA  NA  10
4    3   7  NA
5   NA  NA  10
6    3   7  NA
7   NA  NA  10
8    3   7  NA
9   NA  NA  10
10   3   7  NA

Je veux décalage de colonne CCC vers le bas par un, de sorte que tous les numéros d'aligner sur une seule ligne, puis supprime les lignes qui ne contiennent pas de données (souvent toutes les autres lignes - MAIS PAS TOUJOURS - le motif peut varier à travers le data.frame.

Si vous souhaitez reproduire ce résultat exact, vous devez utiliser set.seed
vous pouvez également déplacer une colonne vers le haut? Par exemple, comment pourrais-je déplacer le BBB colonne d'un niveau? Je n'ai pas été en mesure de modifier votre code précédent.
Vous pouvez déplacer à l'aide de transform(df, BBB = c(BBB[-1], NA)). Avec dplyr vous pouvez déplacer vers le haut/vers le bas avec lag et lead. Par exemple, library(dplyr); transform(df, BBB = lead(BBB))

OriginalL'auteur B. Davis | 2014-09-05