web-dev-qa-db-ja.com

列名と0行で空のチブルを初期化します

_tbl_colnames_という列名のベクトルがあります。

0行とlength(tbl_colnames)列のチブルを作成したいと思います。

私がこれを行うのに見つけた最良の方法は...

tbl <- as_tibble(data.frame(matrix(nrow=0,ncol=length(tbl_colnames)))

そして、列に名前を付けたいので...

colnames(tbl) <- tbl_colnames

私の質問:これを行うよりエレガントな方法はありますか?

tbl <- tibble(colnames=tbl_colnames)のようなもの

11
timwiz

チブルのリストを結合したいので。変数にNULLを割り当ててから、bind_rows他のタイルと。

res = NULL
for(i in tibbleList)
   res = bind_rows(res,i)

ただし、これを行うための非常に効率的な方法は

bind_rows(tibbleList) # combine all tibbles in the list
12
Tony416
my_tibble <- tibble(
  var_name_1 = numeric(),
  var_name_2 = numeric(),
  var_name_3 = numeric(),
  var_name_4 = numeric(),
  var_name_5 = numeric()
)

試したことはありませんが、長さ0の数値ベクトルを開始する代わりに、他のクラス(たとえば、character())でそれを行うとうまくいくと思います。

これ SO質問は他のRライブラリでそれを行う方法を説明します。

this tidyverseの問題によると、これはトリブルの機能ではありません。

1
Daniel