首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >object[seq_len(ile)]中出错:'symbol‘类型的对象不可子集

object[seq_len(ile)]中出错:'symbol‘类型的对象不可子集
EN

Stack Overflow用户
提问于 2017-03-07 05:18:10
回答 1查看 5.9K关注 0票数 13

我正在尝试使用render语句将rmd文件转换为pdf。

代码语言:javascript
复制
render("MiningReport.Rmd", "pdf_document",output_dir = "C:/ProjectSocial/Reports/Twitter/Maybelline")

我收到如下错误

代码语言:javascript
复制
Quitting from lines 109-113 (MiningReport.Rmd) 
Error in object[seq_len(ile)] : 
  object of type 'symbol' is not subsettable

这对我来说看起来非常奇怪,因为当我编织Rmd文件时,就没有这样的错误,并且成功地生成了pdf报告,而当我尝试使用render语句执行同样的操作时,它给出了错误。有谁能解释一下发生了什么事吗?下面是错误潜入的代码块

代码语言:javascript
复制
```{r assoc ,echo=F,message=FALSE}

库(Tm)

findAssocs(myTdm,df$term1 1:10,0.5)

代码语言:javascript
复制

当我删除上面的代码块时,下一块代码也会发生同样的错误。下面是我的Rmd文件。我正在读取存储在指定目录中的文件中的推文。

代码语言:javascript
复制
```{r computedate,echo = FALSE}

date1 <-格式(Sys.Date()- 7,“%B%d”)

格式<- date2 (Sys.Date()- 1,“%B%d,%Y")

代码语言:javascript
复制
# 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")

库(Devtools)

库(TwitteR)

库(Tm)

库(Ggplot2)

库(图)

库(Rgraphviz)

库(Wordcloud)

库(Topicmodel)

库(data.table)

库(Fpc)

库(字形)

库(Xlsx)

库(字符串)

tweets.df<-data.frame(text=character(),favorited=character(),favoriteCount=numeric(),replyToSN=character(),

代码语言:javascript
复制
            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){

由于<-Sys.Date()-i

文件<-read.xlsx2(file=paste(“美宝莲”,自,".xlsx",sep=""),1,colClasses =c(代表(“字符”,2),

"numeric","character","POSIXct",rep("character",6),"numeric",rep("character",4)),stringsAsFactors=F)

<-rbind(tweets.df,文件)

i<-i+1

}

j<-1

HashTagsList<-c()

标签<-#\S+_extract_all(tweets.df$text,“str”)

%c中的哈希标签<-HashTags!character%(“character(0)”)

while (j<=length(HashTags)){

HashTagsList<-c(HashTagsList,HashTags[j])

j<-j+1

}

哈希标签列表<- gsub("#","",HashTagsList)

哈希标签列表<-unique(HashTagsList)

哈希标签列表<-gsub(“[^:alnum:]","",HashTagsList)

k<-1

HandleTagsList<-c()

句柄标记<-str_extract_all(tweets.df$text,"@\S+")

%c中的HandleTags<-HandleTags!character%(“HandleTags(0)”)

while (k<=length(HandleTags)){

句柄标记列表<-c(HandleTagsList,HandleTags[k])

k<-k+1

}

句柄标记列表<- gsub("@","",HandleTagsList)

句柄标记列表<-唯一(HandleTagsList)

句柄标记列表<-gsub(“[^:alnum:]","",HandleTagsList)

Tweets.df$text$tweets.df$text<-gsub(“tweets.df”,"",tweets.tweets.df)

Tweets.df$text$tweets.df$text<-gsub(“tweets.df”,"",tweets.tweets.df)

Tweets.df<-子集(tweets.df,isRetweet=="FALSE")

Tweets.df$text<-gsub("[^:alpha:]",“",Tweets.df$text)

Tweets.df$text<-tolower(Tweets.df$text)

myCorpus <语料库(VectorSource(Tweets.df$text))

myStopwords<-c(stopwords(“英语”),“美宝莲”,"https",“点赞”,“带来”,"make",“思想”,“请”,“也许”,

代码语言:javascript
复制
           "know","just","want","wearing","really","last","better","best","first")

我的语料库<-tm_map(myCorpus,removeWords,myStopwords)

我的语料库<-tm_map(myCorpus,removeWords,HashTagsList)

我的语料库<-tm_map(myCorpus,removeWords,HandleTagsList)

myCorpus <- tm_map(myCorpus,PlainTextDocument)

myTdm<-TermDocumentMatrix(myCorpus,control=list(wordLengths=c(4,13)

频率术语<- findFreqTerms(myTdm,lowfreq=20)

termFrequency <- rowSums(as.matrix(myTdm))

termFrequency <-子集(termFrequency,termFrequency>=20)

df <- data.frame(term=names(termFrequency),freq=termFrequency,stringsAsFactors = F)

df <- dforder(-df$freq),

行名(Df) <- NULL

打印(head(df,50),row.names = FALSE)

df<-head(df,40)

ggplot(df,aes(x=term,y=freq)) + geom_bar(stat="identity") + xlab("Terms") +ylab(“stat=”) +coord_flip()

代码语言:javascript
复制
## 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}

库(Tm)

findAssocs(myTdm,df$term1 1:10,0.5)

代码语言:javascript
复制

感谢任何帮助,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-21 06:50:01

因为我使用的是echo=F而不是echo=FALSE,所以出现了错误。F或T被认为是符号,因此产生了问题。这就是为什么F(或T)是一个符号(请参阅?is.symbol了解符号是什么):

代码语言:javascript
复制
> str(alist(warning = F)) 
List of 1 $ warning: symbol F > str(alist(warning = FALSE)) List of 1 $ warning: logi FALSE 
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42635748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档