R: не в состоянии построить данные с длиной - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть такой набор данных -

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/>

Затем я попытался вычислить количество уникальных содержимого в подмножестве данных и построить его.

var<-unique(dataset$contentid)

 hchart("column",y=length(var))

График показывает 1 по шкале y. Я хочу, чтобы это было 2. Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Вот два возможных решения.

Воспроизводимые примеры данных.

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

Попробуйте, если вы, и скажите мне, если я пропустил вашу точку зрения.

1 голос
/ 14 апреля 2019

Мы можем получить частоту по «человеку» (count) и использовать ggplot для построения графика в виде гистограммы

library(dplyr)
library(ggplot2)
df1 %>% 
    count(person) %>% 
    ggplot(., aes(x = person, y = n)) + 
         geom_bar(stat = 'identity')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...