2017-03-06 19 views
9

मैं रेंडर स्टेटमेंट का उपयोग करके एक आरएमडी फ़ाइल को पीडीएफ में कनवर्ट करने की कोशिश कर रहा हूं।ऑब्जेक्ट में त्रुटि [seq_len (ile)]: प्रकार 'प्रतीक' का ऑब्जेक्ट सबसेट करने योग्य नहीं है

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

मैं

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

इसका कारण यह है मेरे लिए बहुत अजीब लग रहा है नीचे के रूप में एक त्रुटि हो रही है जब मैं RMD फाइल तो ऐसी कोई त्रुटि और पीडीएफ रिपोर्ट सफलतापूर्वक उत्पन्न किया जाता है बुनी और जब मैं कोशिश रेंडर स्टेटमेंट का उपयोग करके ऐसा करने के लिए यह त्रुटि देता है। क्या कोई यह बता सकता है कि क्या हो रहा है? नीचे दिए गए कोड हिस्सा जहां त्रुटि

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

में ढोंगी जब मैं ऊपर हिस्सा तो हटाने कोड के अगले हिस्सा के लिए एक ही त्रुटि तब होती है। नीचे मेरी आरएमडी फाइल है। मैं निर्दिष्ट निर्देशिका में मौजूद फाइलों में संग्रहीत ट्वीट्स में पढ़ रहा हूं।

```{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) 

``` 

किसी भी मदद की सराहना की धन्यवाद

+0

कृपया कम से कम [प्रतिलिपि प्रस्तुत करने योग्य उदाहरण] के कुछ प्रकार प्रदान करने का प्रयास (http: // stackoverflow .com/प्रश्न/5963269/कैसे-टू-मेक-ए-ग्रेट-आर-पुनरुत्पादित उदाहरण) कि हम त्रुटि को फिर से बनाने के लिए चला सकते हैं। यह आपकी मदद करने के लिए बहुत आसान बना देगा। – MrFlick

+0

आपके कार्यक्षेत्र में 'df' कौन है? 'df $ term' एक ही त्रुटि को फेंकता है, 'डीएफ' एक आर बिल्टिन फ़ंक्शन भी है। – Fernando

+0

@ फर्नांडो फ़ाइल बुनाई के दौरान यह कोई त्रुटि क्यों नहीं देता है? डीएफ सिर्फ डेटाफ्रेम का नाम है। रेंडर स्टेटमेंट कुछ दिनों के लिए पूरी तरह से काम कर रहा था और आज अचानक यह एक त्रुटि मिली – Abhinav

उत्तर

18

त्रुटि आ रहा था क्योंकि मैं गूंज = एफ बजाय गूंज = FALSE इस्तेमाल किया। एफ या टी को प्रतीकों के रूप में माना जाता है और इसलिए यह समस्या पैदा करता है। क्यों एफ (या टी) प्रतीक (? देख 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

संबंधित मुद्दे