R:无法绘制具有长度的数据

时间:2019-04-14 06:03:18

标签: r

我有一个像这样的数据集-

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。请帮助!

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()

如果您愿意,可以尝试一下,并告诉我是否想念您的观点。