7 votes

Comment compter les rangs ?

J'ai une question simple (du moins pas pour moi ..). Je me suis retrouvé avec une liste contenant plusieurs dataframes de différentes longueurs. Je veux compter la longueur de chaque dataframe

mylist <- list (a = data.frame(i = 1:10, j= 11:20), b = data.frame(i = 1:5, j= 11:15), c = data.frame(i = 1:8, j= 11:18))
mylist
$a
    i  j
1   1 11
2   2 12
3   3 13
4   4 14
5   5 15
6   6 16
7   7 17
8   8 18
9   9 19
10 10 20

$b
  i  j
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15

$c
  i  j
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18

Mes pauvres codes :

lapply(mylist, function(y)length(y) 

$a
[1] 2

$b
[1] 2

$c
[1] 2

Oh....no..... Comment puis-je compter le nombre de lignes dans chaque dataframe de composant et obtenir un nouveau vecteur avec :

 # number of rows in each component dataframe of the list 
 myvec
[1] 10  5  8

Merci pour votre temps... je l'apprécie...

17voto

Joshua Ulrich Points 68776

Essayez ceci :

myvec <- sapply(mylist, NROW)

length donne des résultats "étranges" avec data.frames car les data.frames sont en fait des listes de vecteurs de même longueur. length(data.frame) vous donne la longueur de la liste sous-jacente, qui est le nombre de colonnes du data.frame.

NROW y NCOL sont intéressantes car elles tendent à donner des résultats "attendus" pour la plupart des objets. Je les utilise beaucoup de manière interactive, mais je reviens à nrow , ncol y length lors de l'écriture d'un code stable (par exemple, des programmes, des paquets) parce qu'ils évitent la surcharge de quelques appels de fonction supplémentaires.

3voto

Keerthana Points 147
lengths(mylist) 

renvoie la longueur de chaque élément de la liste. Note "longueurs" (pluriel)

0voto

Hans Thomas Points 1
    int q = list.Length;
    int f = list.GetLength(0);
    int e = list.GetLength(1);
    Console.WriteLine("length of row :" + f);
    Console.WriteLine("length of column :" + e);
    Console.WriteLine("length of components in list :" + q);    

Le nombre total de composants ou la longueur des éléments d'un tableau peut être déterminé comme indiqué pour la variable "q". Pour trouver le nombre de lignes dans un tableau ou une liste, utilisez la fonction GetLength() avec 0 comme valeur d'entrée et pour le nombre de lignes, nous pouvons utiliser la même fonction avec la valeur d'entrée 1.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X