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

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

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

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

637閲覧

Rでテキストデータを用いてLDAによるトピック解析を行う際の入力データに関して

退会済みユーザー

退会済みユーザー

総合スコア0

R

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

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2018/07/10 04:01

編集2018/07/11 01:05

前提・実現したいこと

Rでテキストデータを用いてLDAによるトピック解析を行おうとしています。
テキストデータは、自分で用意した文章のcsvファイルを想定しています。

テキストデータの中身に関しては、今回の例では
RのtwitteRでタイムラインを取得するから引用しましたが、
記事ではTwitterで収集しているtext部分をTwitterではなく自分で収集した文章にし、トピック解析を行おうとしています。
イメージ説明

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

現在のコードではTwitterを使用している部分をファイル読み込みにするにはどのようにコードを修正すれば良いでしょうか。
この点がわからず困っています。

該当のソースコード

現在できていることは、Twitterからデータを取得して結果をグラフに描画することです。

R

1library(twitteR) 2library(lda) 3library(RMeCab) 4 5#get tweets 6tweets <- twListToDF(searchTwitter(“夏休み”, lang="en", n=100)) 7tweets$text <- iconv(tweets$text, to ="utf-8-mac") 8tweets$text <- gsub("https://.*", "", tweets$text) 9 10#analyze tweets 11df <- docDF(tweets, 1, type=1, pos=(“名詞”)) 12doc <- list() 13for(i in c(4:ncol(df))){ 14d <- df[, i] 15doc[[ i - 3]] <- rbind(as.integer((1:length(d))[d>0]-1), as.integer(d[d>0])) 16 17} 18 19vcab <- df [,1] 20n <- 10 21result <- lda.collapsed.gibbs.sampler(doc, n, vcab, length(tweets$text), 0.1, 0.001) 22top.words <- top.topic.words(result$topics, 3, by.score = TRUE) 23 24#Analyze first 10 tweets 25N <- 10 26topic.proportions <- t(result$document_sums) / colSums(result$document_sums) 27topic.proportions <- topic.proportions[1:N, ] 28topic.proportions[is.na(topic.proportions)] <- 1/k 29 30#Make a graph 31colnames(topic.proportions) <- apply(top.words, 2, paste, collapse=" ") 32par(mar=c(1, 10, 2, 2)) 33par(family = “HiraKakuPro-W3”) 34barplot(topic.proportions, beside=TRUE, horiz=TRUE, las=1, xlab="proportion")

試したこと

csvからファイルの内容はRに読み込めています

R

1data=read.table(“sample.csv”, sep=,, header=TRUE)

補足情報(FW/ツールのバージョンなど)

R 3.4.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

R

1tweets_selected <- subset(tweets, regexpr("夏休み",text)>0)

投稿2018/07/10 04:47

KojiDoi

総合スコア13669

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

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

退会済みユーザー

退会済みユーザー

2018/07/10 05:20

ご回答いただきましてありがとうございます。 説明が不十分でしたので、質問の「前提・実現したいこと」を修正いたしました。 実現したいことでは、twitterは使用しません。
KojiDoi

2018/07/10 12:38

スミマセンがその修正内容がサッパリ分かりません。 関係ない事の説明は省いて、やりたい事だけ書いて貰えませんかね。
退会済みユーザー

退会済みユーザー

2018/07/10 13:08

わかりにくくて申し訳後妻ません。 知りたいことは、 現在のコードでTwitterを使用してデータを収集している部分をファイル読み込みにするにはどのようにコードを修正すれば良いか。 ということです。
KojiDoi

2018/07/10 13:14

read.table()の使い方が分からんと言うことですか?
退会済みユーザー

退会済みユーザー

2018/07/10 13:35

read.table()の使い方がわからず、 tweets <- twListToDF(searchTwitter(“夏休み”, lang="en", n=100)) の部分をどのように変更すれば良いか検討がつかないということです。
KojiDoi

2018/07/10 13:42

テキストファイルの内容をread.tableでdataframeにする所まではできますか。
退会済みユーザー

退会済みユーザー

2018/07/11 00:58

data=read.table(“sample.csv”, sep=”,”, header=TRUE) でdataframeにするところまではできます。
KojiDoi

2018/07/11 03:12

それなら df <- docDF(tweets, 1, type=1, pos=(“名詞”)) このtweetsをそのdataに差し替えればいいだけなのではありませんか?
退会済みユーザー

退会済みユーザー

2018/07/11 05:38

> df <- docDF(data$content, 1, type=1, pos=("名詞")) dir(target) でエラー: 'path' 引数が不正です tweets$textと同じく、data$contentで文章の入力されている行を指定しましたが、 エラーが出てしまいます。
KojiDoi

2018/07/11 07:09

data$content ではなく data なのでは? docDFの第1引数として期待されているのはどんなclassのオブジェクトですか? tweets, tweets$text, data, data$contentのclassは何ですか? ちゃんと確かめてますか?
退会済みユーザー

退会済みユーザー

2018/07/11 07:51

何度もご対応いただきましてありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問