-1
votes

Queue et tête de Dataframe entier en R avec colonne et numéro de rangée

dire que j'ai un dataframe code> avec 250 lignes et 1000 colonnes. Je souhaite trouver les 10 valeurs maximales et les 10 valeurs minimales, que je peux facilement à avec queue code> et la fonction code> appliquer sur le fichier de données code> vectorisé code> .

Mais comment puis-je maintenant quelles colonnes et rangées les valeurs les plus élevées sont? P>

Exemple: P>

df <- data.frame(c("house1", "house2", "house3"), c(2006, 2007, 2008), c(0.3, 0.5, 0.1), c(0.9, 0.4, 0.01))
colnames(df) <- c("house.num", "year", "data1", "data2")

> df
 house.num year data1 data2
1    house1 2006   0.3  0.90
2    house2 2007   0.5  0.40
3    house3 2008   0.1  0.01


1 commentaires

Veuillez partager votre sortie attendue.


3 Réponses :


0
votes

Essayez ceci:

library(data.table)
df <- data.frame(c("house1", "house2", "house3"), c(2006, 2007, 2008), c(0.3, 0.5, 0.1), c(0.9, 0.4, 0.01))
colnames(df) <- c("house.num", "year", "data1", data2")
setorder(df, -data1)


1 commentaires

Merci! Le problème est que je n'ai pas 2 colonnes de données, mais mille. Je n'ai pas besoin du max. Valeurs par colonne, mais par matrice de données.



1
votes

EDIT: Supprimé le regroupement par colonne.

Ce n'est peut-être pas le format que vous recherchez, mais voici une solution qui retournera les résultats dans "long" format: 20 rangées , un pour chacun des 10 enregistrements haut et inférieur. Chaque rangée a le numéro de la maison, l'année, le numéro de ligne, le nom de la colonne et si l'enregistrement est en haut ou en bas 10. xxx


0 commentaires

1
votes

Utilisation de data.table xxx


0 commentaires