2017-03-06 7 views
9

レンダリングステートメントを使用してrmdファイルをpdfに変換しようとしています。オブジェクト[seq_len(ile)]のエラー: 'シンボル'タイプのオブジェクトはサブセット化されていません

render("MiningReport.Rmd", "pdf_document",output_dir = "C:/ProjectSocial/Reports/Twitter/Maybelline") 

私はRMDファイルを編むときには、このようなエラーではありませんし、PDFレポートが正常に生成され、私がしようとしているため

Quitting from lines 109-113 (MiningReport.Rmd) 
Error in object[seq_len(ile)] : 
    object of type 'symbol' is not subsettable 

の下にこれは私にとって非常に奇妙に見えるように私がエラーを取得していますレンダリングステートメントを使用して同じことを行うと、エラーが発生します。誰でも何が起こっているか説明できますか?以下、私は同じエラーコードの次のチャンクのために発生し、その後上記のチャンクを削除すると、エラーが

```{r assoc ,echo=F,message=FALSE} 
library(tm) 
findAssocs(myTdm,df$term[1:10],0.5) 
``` 

にクリープコードチャンクです。以下は私のRmdファイルです。私は指定されたディレクトリに存在するファイルに格納されているツイートを読み込んでいます。

```{r computedate,echo = FALSE} 
date1 <-format(Sys.Date() - 7,"%B %d") 
date2 <-format(Sys.Date() - 1,"%B %d, %Y") 

``` 

# This report has been created on twitter data from `r date1` to `r date2`. 
# Analysis of Tweets 
## Below we can see the most frequent words. 

```{r frequent,echo=FALSE,message=FALSE,warning=FALSE,cache=TRUE} 

setwd("C:/ProjectSocial/Data/TwitterData/Maybelline") 

library(devtools) 
library(twitteR) 
library(tm) 
library(ggplot2) 
library(graph) 
library(Rgraphviz) 
library(wordcloud) 
library(topicmodels) 
library(data.table) 
library(fpc) 
library(igraph) 
library(xlsx) 
library(stringr) 

tweets.df<-data.frame(text=character(),favorited=character(),favoriteCount=numeric(),replyToSN=character(), 
       created=as.POSIXct(character()),truncated=character(),replyToSID=character(),id=character(),replyToUID=character(),statusSource=character(),screenName=character(),retweetCount=numeric(), 
isRetweet=character(),retweeted=character(),longitude=character(),latitude=character(),stringsAsFactors =F) 
i<-1 
while(i<=7){ 
    since<-Sys.Date()-i 
    file<-read.xlsx2(file=paste("Maybelline",since,".xlsx",sep=""), 1,colClasses = c(rep("character",2), 
    "numeric","character","POSIXct",rep("character",6),"numeric",rep("character",4)), stringsAsFactors=F) 

    tweets.df<-rbind(tweets.df,file) 
    i<-i+1 
} 

j<-1 
HashTagsList<-c() 
HashTags<-str_extract_all(tweets.df$text,"#\\S+") 
HashTags<-HashTags[!HashTags %in% c("character(0)")] 

while (j<=length(HashTags)){ 

    HashTagsList<-c(HashTagsList,HashTags[[j]]) 
    j<-j+1 
} 
HashTagsList<- gsub("#", "", HashTagsList) 
HashTagsList<-unique(HashTagsList) 
HashTagsList<-gsub("[^[:alnum:] ]", "", HashTagsList) 

k<-1 
HandleTagsList<-c() 
HandleTags<-str_extract_all(tweets.df$text,"@\\S+") 
HandleTags<-HandleTags[!HandleTags %in% c("character(0)")] 
while (k<=length(HandleTags)){ 

    HandleTagsList<-c(HandleTagsList,HandleTags[[k]]) 
    k<-k+1 
} 

HandleTagsList<- gsub("@", "", HandleTagsList) 
HandleTagsList<-unique(HandleTagsList) 
HandleTagsList<-gsub("[^[:alnum:] ]", "", HandleTagsList) 

tweets.df$text<-gsub("#\\S+", "", tweets.df$text) 
tweets.df$text<-gsub("@\\S+", "", tweets.df$text) 

Tweets.df<-subset(tweets.df,isRetweet=="FALSE") 
Tweets.df$text<-gsub("[^[:alpha:] ]", " ", Tweets.df$text) 
Tweets.df$text<-tolower(Tweets.df$text) 

myCorpus <-Corpus(VectorSource(Tweets.df$text)) 
myStopwords<-c(stopwords("english"),"maybelline","https","like","bring","make","thought","please","maybe", 
       "know","just","want","wearing","really","last","better","best","first") 
myCorpus<-tm_map(myCorpus,removeWords,myStopwords) 
myCorpus<-tm_map(myCorpus,removeWords,HashTagsList) 
myCorpus<-tm_map(myCorpus,removeWords,HandleTagsList) 

myCorpus <- tm_map(myCorpus, PlainTextDocument) 
myTdm<-TermDocumentMatrix(myCorpus,control=list(wordLengths=c(4,13))) 
freq.Terms<- findFreqTerms(myTdm,lowfreq=20) 
termFrequency <- rowSums(as.matrix(myTdm)) 
termFrequency <- subset(termFrequency, termFrequency>=20) 
df <- data.frame(term=names(termFrequency), freq=termFrequency,stringsAsFactors = F) 
df <- df[order(-df$freq),] 
rownames(df) <- NULL 
print(head(df,50), row.names = FALSE) 
df<-head(df,40) 
ggplot(df,aes(x=term,y=freq)) + geom_bar(stat="identity") + xlab("Terms") +ylab("Count") +coord_flip() 

``` 

## Below we can find all the words which are associated with the top 10 most frequent words and having correlation > 0.5. 

```{r assoc ,echo=F,message=FALSE} 

library(tm) 
findAssocs(myTdm,df$term[1:10],0.5) 

``` 

すべてのヘルプは、私は、エコー= Fの代わりに、エコー= FALSEを使用しているため おかげ

+0

(HTTP最小限[再現可能な例]のいくつかの並べ替えを提供しようとしてください:// stackoverflowの.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を実行して、エラーを再現することができます。これは、あなたを助けることをはるかに容易にします。 – MrFlick

+0

あなたの作業スペースに 'df'は誰ですか? 'df $ term'はここで同じエラーを投げます、' df'はR組み込み関数です。 – Fernando

+0

@ Fernandoファイル編成中にエラーが発生しないのはなぜですか? dfはデータフレームの名前です。レンダリングステートメントは数日間は完璧に動作していましたが、今日は突然それがエラー – Abhinav

答えて

18

は、エラーが来ていた感謝しています。 FまたはTはシンボルとみなされ、問題を生成します。 F(またはT)がシンボルである理由はここに は(?記号が何であるかを知るためにis.symbol参照)である。

> str(alist(warning = F)) 
List of 1 $ warning: symbol F > str(alist(warning = FALSE)) List of 1 $ warning: logi FALSE 
+1

うわー、どんなに難しいバグを追うか。この回答を投稿していただきありがとうございます。他の誰かが読んだところでは、コード自体ではなく、rmarkdownコードのチャンクに対するアノテーションの "eval = F"によって引き起こされた同じエラーを見ました。それに気をつけろ! – eleanorahowe

関連する問題