J'ai un vecteur de noms de colonnes appelé tbl_colnames
.
Je voudrais créer un tibble avec 0 lignes et length(tbl_colnames)
colonnes.
La meilleure façon que j'ai trouvée de le faire est ...
tbl <- as_tibble(data.frame(matrix(nrow=0,ncol=length(tbl_colnames)))
et puis je veux nommer les colonnes donc ...
colnames(tbl) <- tbl_colnames
.
Ma question: existe-t-il une manière plus élégante de procéder?
quelque chose comme tbl <- tibble(colnames=tbl_colnames)
Puisque vous souhaitez combiner une liste de tibbles. Vous pouvez simplement affecter NULL à la variable puis bind_rows
avec d'autres tibbles.
res = NULL
for(i in tibbleList)
res = bind_rows(res,i)
Cependant, un moyen très efficace de le faire est
bind_rows(tibbleList) # combine all tibbles in the list
my_tibble <- tibble(
var_name_1 = numeric(),
var_name_2 = numeric(),
var_name_3 = numeric(),
var_name_4 = numeric(),
var_name_5 = numeric()
)
Je n'ai pas essayé, mais je suppose que cela fonctionne aussi si au lieu de lancer des vecteurs numériques de longueur 0, vous le faites avec d'autres classes (par exemple, character ()).
This SO question explique comment le faire avec d'autres bibliothèques R.
Selon this tidyverse issue, ce ne sera pas une fonctionnalité pour les tribbles.