我正试图从Kaggle脚本运行这行代码:
df1 <- combined %>%
count(name = character, drilldown = character) %>%
arrange(desc(n)) %>%
head(9) %>%
rename(y = n)
然而,当我运行此代码时,我收到以下错误消息:
Error: `name` must be a single string.
"组合的";是包含2个变量(字符和对话,这两个变量都是"字符"变量(的数据帧
ep4 <- data.frame(character = c("Luke", "Leia"),
dialogue = c("Hello", "world")
)
ep5 <- data.frame (character = c("Darth vader", "Sidious"),
dialogue = c("My", "name")
)
ep6 <- data.frame (character = c("R2D2", "ObiWan"),
dialogue = c("is", "Essan")
)
combined <- bind_rows(ep4, ep5, ep6)
str(combined):
'data.frame': 6 obs. of 2 variables:
$ character: chr "Luke" "Leia" "Darth vader" "Sidious" ...
$ dialogue : chr "Hello" "world" "My" "name" ...
我不确定我在这里做错了什么。我使用的是dpylr
包中的count()
函数,而不是plyr
。";name";count函数的参数。如果我删除";name";参数,代码运行,但稍后创建的饼图(使用df1
作为其数据(不包含每个切片的字符名称。
以下是Kaggle脚本:https://www.kaggle.com/couyang/star-wars-interac-drilldown-sentiment-analysis/execution
以下可能是您想要的
df1 <- combined %>%
count(drilldown = character) %>%
arrange(desc(n)) %>%
head(9) %>%
rename(y = n)
您得到的错误是,它期望为name
参数指定一个字符。如果你要这样做,你需要调整你的管道如下:
df1 <- combined %>%
count(drilldown = character, name = "counts") %>%
arrange(desc(counts)) %>%
head(9) %>%
rename(y = counts)