Как сделать сводную таблицу с более чем одним столбцом - PullRequest
0 голосов
/ 07 апреля 2019

Я хочу создать сводную таблицу, используя R с несколькими столбцами.Изображение моего файла data.csv и желаемый результат, который я хочу получить, выглядит следующим образом:

Это мой пример файла данных.

my data.csv

Вывод того, что я хочуиспользование R:

Desired Result using R

Желаемый результат легко получить с помощью сводных таблиц в Excel, но я хочу использовать только R.

Ответы [ 2 ]

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

Три шага для использования базы R, без пакета

данные:

    structure(list(`Registration Number` = structure(c(1L, 2L, 1L, 
2L, 2L, 1L), .Label = c("123", "456"), class = "factor"), Name = structure(c(1L, 
2L, 1L, 2L, 2L, 1L), .Label = c("a", "b"), class = "factor"), 
    Marks1 = c(20, 30, 40, 50, 60, 70), Marks2 = c(10, 20, 30, 
    40, 50, 60)), .Names = c("Registration Number", "Name", "Marks1", 
"Marks2"), row.names = c(NA, -6L), class = "data.frame")

Позволяет использовать функцию aggregate

Шаг 1 - Рассчитать сумму Знаков 1 по регистрационному номеру

data1<-aggregate(Marks1 ~ `Registration Number`,dataf, sum)

Шаг 2 - Рассчитать сумму Знаков 2 по регистрационному номеру

data2<-aggregate(Marks1 ~ `Registration Number`,dataf, sum)

Шаг 3 - Объедините их вместе

dataset<-merge(data1,data2)


  Registration Number Marks1 Marks2
1                 123    130    100
2                 456    140    110
0 голосов
/ 07 апреля 2019

Вы можете использовать пакет dplyr

library(dplyr)
my_data %>%
group_by(rgistration_number,name)%>%
summarize(TotalMarks1=sum(marks1), TotalMarks2=sum(marks2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...