質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

794閲覧

RMeCabの出力結果(形式)を変更したいです

s0912Sg

総合スコア1

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

1クリップ

投稿2023/01/27 13:51

編集2023/01/28 13:33

前提

tweetが100件ある中でtweetを一文ずつRMeCabで形態素解析にかけ、一文の中にどの品詞がどのくらい出現しているのか分析したいです。

実現したいこと

実際に出力はできたのですが、細かく改行されていてエクセルでの分析がしづらい状態です。
なので改行されないように出力したいです。
どうすればよいでしょうか?

発生している問題・エラーメッセージ

tweet文「おとなりの『三茶カフェ』」
[[1]]
名詞 助詞
"おと" "なり"
助詞 記号
"の" "「"
名詞 名詞
"三" "茶"
名詞 記号
"カフェ" "」"

↑この様に表示されます

          ↓実際に表示したい形
[[1]]
名詞 助詞    助詞 記号   名詞 名詞    名詞 記号
"おと" "なり"  "の" "「"    "三" "茶"  "カフェ" "」"

試したこと

csvファイルに出力してみたのですが同じ結果になりました。

環境

RGui(64-bit)

上記の動作ができない場合、出力結果をExcelで分析しやすいような形にできる方法があればそちらを教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cuttlefish44

2023/01/30 01:36

実行結果だけでなくコードも記載していただけますと回答もらいやすいと思います。
guest

回答1

0

ベストアンサー

長さの揃っていない名前付ベクトルのリストなので、csvやエクセルにするにはあまり適していません。
データフレームなりに直すのがよいでしょう。

library(RMeCab); library(dplyr) example_data <- data.frame(id = c(1, 2), text = c("私の名前は太郎です。", "今日の晩御飯はカレーとチャーハンどちらがいいですか?")) mecabdf_output <- RMeCabDF(example_data, 2) out <- bind_rows(lapply(mecabdf_output, function(x) as.data.frame(matrix(c(names(x), x), nrow = 2, byrow = TRUE)))) out # V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 # 1 名詞 助詞 名詞 助詞 名詞 助動詞 記号 <NA> <NA> <NA> <NA> <NA> <NA> <NA> # 2 私 の 名前 は 太郎 です 。 <NA> <NA> <NA> <NA> <NA> <NA> <NA> # 3 名詞 助詞 名詞 名詞 助詞 名詞 助詞 名詞 名詞 助詞 形容詞 助動詞 助詞 記号 # 4 今日 の 晩 御飯 は カレー と チャーハン どちら が いい です か ? ## c(names(x), x)) # ベクトルの名前と要素を1つのベクトルにする ## matrix(ry, nrow = 2, byrow = TRUE) # 作成したベクトルを2行のmatrixにする # rbind(names(x), x) だと名前要素が残って邪魔となる ## as.data.frame(ry) # df形式にする ### ここまでがリスト要素毎の反復作業 # bind_rows(ry) でdfに直したリストの各要素を縦にがっちゃんこする # あとはお好みでexcelなりcsvに出力

投稿2023/01/30 02:10

cuttlefish44

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問