首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: quanteda包的序列分析-组不工作,->错误:组必须有长度ndoc(x)

R: quanteda包的序列分析-组不工作,->错误:组必须有长度ndoc(x)
EN

Stack Overflow用户
提问于 2022-01-26 15:58:34
回答 1查看 203关注 0票数 1

这是我的第一个问题,我希望有人能帮忙,我真的不知道还能做些什么。

这是关于网站的:http://inhaltsanalyse-mit-r.de/sentiment.html有一个关于如何做场景分析的例子,我想这样做。它是这样的代码:

代码语言:javascript
复制
if(!require("quanteda")) {install.packages("quanteda"); library("quanteda")}
if(!require("readtext")) {install.packages("readtext"); library("readtext")}
if(!require("tidyverse")) {install.packages("tidyverse"); library("tidyverse")}
if(!require("scales")) {install.packages("scales"); library("scales")}

theme_set(theme_minimal())

////

load("daten/twitter/trumpclinton.korpus.RData")

korpus.stats.monat <- ungroup(korpus.stats.monat)
korpus.stats.monat

///

korpus.trump <- corpus_subset(korpus, Kandidat == "Trump")
meine.dfm.trump <- dfm(korpus.trump, groups = c("monat", "jahr"), dictionary = sentiment.lexikon)

sentiment.trump <- convert(meine.dfm.trump, "data.frame") %>%
  gather(positive, negative, key = "Polarität", value = "Wörter") %>% 
  mutate(Datum = as.Date(paste("01", doc_id, sep = "."), "%d.%m.%Y")) %>% 
  filter(Datum >= "2015-04-01" & Datum <= "2017-04-01")

ggplot(sentiment.trump, aes(Datum, Wörter, colour = Polarität, group = Polarität)) + 
  geom_line(size = 1) + 
  scale_colour_brewer(palette = "Set1") + 
  scale_x_date(date_breaks = "2 months", date_labels = "%b %Y") + 
  ggtitle("Sentiment-Scores für Donald Trump") + xlab("Monat") + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

这给了我这个:

代码语言:javascript
复制
meine.dfm.trump <- dfm(korpus.trump, groups = c("monat", "jahr"), dictionary = sentiment.lexikon)

错误:除了警告消息: 1:'dfm.corpus()‘之外,组还必须有长度ndoc(x)。先使用“tokens()”。2:不推荐使用“组”;使用dfm_group()代替

所以我重新安排了它的更新,也许老版本是问题所在:

代码语言:javascript
复制
korpus.trump <- corpus_subset(korpus, Kandidat == "Trump")
korpus.trump.tokens <- tokens(korpus.trump)
meine.dfm.trump <- dfm(korpus.trump.tokens)
meine.dfm.trump.group <- dfm_group (meine.dfm.trump, c(monat, jahr))

这仍然给了我这个:

错误:组必须有长度ndoc(x)

我明白了,这意味着物体的长度不够长吗?但是当我在dfm中查看monat和jahr时,它会在"type“character11221下面显示这两种类型,因此它们应该具有相同的长度。

我只用monat或jahr就行了。但是情节并没有给我任何东西,只有旁边的名字。

EN

回答 1

Stack Overflow用户

发布于 2022-01-26 17:19:15

为了解决您的问题,您需要对代码进行一些重新组织。自创建"Automatisierte Inhaltsanalyse R“网站以来,全德达发生了一些变化。

你需要改变的地方在下面。

代码语言:javascript
复制
....
meine.dfm.trump <- tokens(korpus.trump) %>% 
    dfm() %>% 
    dfm_group(groups = interaction(monat, jahr)) %>% 
  dfm_lookup(dictionary = sentiment.lexikon)
....
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70866396

复制
相关文章

相似问题

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