Comment gérer vide dataframes dans R?

J'ai remarqué que, parfois, j'ai des erreurs dans mon R scripts quand j'oublie de vérifier si le dataframe je suis en train de travailler sur est réellement vide (aucune ligne).

Par exemple, lorsque j'ai utilisé appliquent comme ce

apply(X=DF,MARGIN=1,FUN=function(row) !any(vec[ row[["start"]]:row[["end"]] ]))

et DF qui est arrivé à être vide, j'ai eu une erreur sur les indices.

Pourquoi est-ce? Ne sont pas vides dataframes valide? Pourquoi ne apply() avec MARGIN=1 même essayer de faire quoi que ce soit quand il n'y a pas de lignes dans le dataframe? Ai-je vraiment besoin d'ajouter une condition avant chaque appliquer pour s'assurer que le dataframe n'est pas vide?

Merci!

N'êtes-vous pas à confusion standard *pplys avec plyr?
Ce que vous voulez comme un résultat en cas de vide data.frame? Une liste? NULL? NA? FALSE? Peut-être que vous pourriez éliminer les vides data.frame's plus tôt dans votre code?
Je ne suis pas sûr. Lorsque j'utilise apply() avec MARGIN=1, exactement comment ça marche? J'ai pensé qu'il envoie chaque ligne de FUN et d'agréger les résultats.
Désolé, ce commentaire était stupide. Les ignorer.

OriginalL'auteur David B | 2010-09-07