我有一个像这样的数据集-
content, contentid, person <br/>
course1, 1, X <br/>
course2, 2, Y <br/>
course3, 3, X <br/>
我想计算一个人修读的课程数量并将其绘制出来。
我尝试使用该人的姓名对数据进行子集化。
content, contentid, person <br/>
course1, 1, X <br/>
course, 3, X <br/>
然后我尝试计算子集数据中唯一contentid的数量并将其绘制。
var<-unique(dataset$contentid)
hchart("column",y=length(var))
该图在y刻度上显示1。我希望它是2。请帮助!
答案 0 :(得分:1)
我们可以通过“人”(count
)来获得频率,并使用ggplot
来绘制为条形图
library(dplyr)
library(ggplot2)
df1 %>%
count(person) %>%
ggplot(., aes(x = person, y = n)) +
geom_bar(stat = 'identity')
答案 1 :(得分:1)
这是两种可能的解决方案。
可复制的示例数据。
library(tidyverse)
db <- tribble(
~content,~contentid, ~person,
"course1", 1, "X",
"course2", 2, "Y",
"course3", 3, "X")
然后,您需要确定是要绘制图形还是将信息作为表格存储
表
db %>%
group_by(person) %>%
summarise(number_courses = n())
情节
db %>%
ggplot() +
aes(person, fill = content) +
geom_bar()
如果您愿意,可以尝试一下,并告诉我是否想念您的观点。