No.22896 【R】リストからデータフレームへの変換  【明石】 2020/04/25(Sat) 17:09

青木先生 様;

お忙しいところを失礼いたします,明石と申します。
毎々,ご丁寧なご教示をいただき,誠にありがとうございます。

リストからデータフレームへの変換について,ご教示をいただけましたら,大変に助かります。

-------------------------------
以下,簡単な例でお示しします。
s <- c("りんご_apple", "みかん_orange", "バナナ_banana", "メロン_melon")
s <- strsplit(s, "_")

> s
[[1]]
[1] "りんご" "apple"

[[2]]
[1] "みかん" "orange"

[[3]]
[1] "バナナ" "banana"

[[4]]
[1] "メロン" "melon"
上記リストから,以下の2列からなるデータフレームを作成したいと思います。
     lhs    rhs
1 りんご apple
2 みかん orange
3 バナナ banana
4 メロン melon
上記リストを,unlist()関数でベクトルに変換して,
ベクトル要素の奇数番目と偶数番目を,
作成したいデータフレームの変数 lhs と rhs に代入することでも得られますが,

ご教示いただきたいことは,リストからデータフレームへの直接変換の方法です。

お手数をおかけいたします。
どうぞよろしくお願いいたします。
//

No.22897 Re: 【R】リストからデータフレームへの変換  【青木繁伸】 2020/04/25(Sat) 17:44

「直接変換」という意味がよく分かりません。
df <- data.frame(t(matrix(unlist(s), 2)))
ではだめなんですか?

No.22899 御礼(Re: 【R】リストからデータフレームへの変換)  【明石】 2020/04/25(Sat) 19:08

青木先生 様;

お忙しいところを失礼いたします,明石と申します。
毎々,ご丁寧なご教示をいただき,誠にありがとうございます。

今回も,大変に良い勉強をさせていただきました。

「直接変換」という,紛らわしい表現で,ご迷惑をおかけいたしました。
大変に失礼をいたしました。

青木先生からご教示いただきました方法で,問題解決できました。
今回も,大変に良い勉強をさせていただきました。

私が「直接変換」という表現を使った期待感として,
apply, map, reduce などの関数を使う方法があるとすれば,どのように書くのだろう,
という思いがありました。

「直接変換」という,紛らわしい表現で,ご迷惑をおかけいたしました。
大変に失礼をいたしました。
//

● 「統計学関連なんでもあり」の過去ログ--- 048 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る