Как мне найти сумму категории в подмножестве? - PullRequest
1 голос
/ 21 февраля 2020

Итак ... Я очень неграмотен, когда дело доходит до RStudio, и я использую эту программу для класса ... Я пытаюсь выяснить, как суммировать подмножество категории. Я заранее извиняюсь, если это не имеет смысла, но я сделаю все возможное, чтобы объяснить, потому что я понятия не имею, что я делаю, и также был бы признателен за объяснение почему , а не только за ответ было бы. Примечание: Две строки, которые я включил, являются частью инструкций, которым я должен следовать, а не то, что я просто набрал, потому что я знал, как - я не ... Это последняя часть, сумма, что мне не объясняют, как это сделать, и поэтому я не знаю, что делать, и буду признателен за помощь в выяснении.

Например,

У меня есть это:

category_name    category2_name
1                ABC
2                ABC
3                ABC
4                ABC
5                ABC
6                BDE
5                EFG
7                EFG

Я хотел найти сумму этих чисел, поэтому мне сказали ввести следующее:

sum(dataname$category_name)

После этого меня попросили напечатать это, очевидно создавая подмножество.

allabc <- subset(dataname, dataname$category_name2 == "abc")

Я создал это подмножество, и теперь у меня есть новая таблица с этим подмножеством. Меня просят суммировать только числа этого подмножества AB C ... Я понятия не имею, как это сделать. Если бы кто-нибудь мог мне помочь, я был бы очень признателен!

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Это проще всего сделать, используя tidyverse .

# Your data
data <- data.frame(category_name = 1:8, category_name2 = c(rep("ABC", 5), "BDE", "EFG", "EFG"))

# Installing tidyverse
install.packages("tidyverse")

# Loading tidyverse
library(tidyverse)

# For each category_name2 the category_name is summed
data %>%
  group_by(category_name2) %>%
  summarise(sum_by_group = sum(category_name))

# Output
category_name2 sum_by_group
ABC            15
BDE            6
EFG            15
1 голос
/ 21 февраля 2020

R - это программное обеспечение, которое вы используете. Это чувствительно к регистру. Таким образом, «ab c» не равно «AB C».

Аргументы - это «вещи», которые вы помещаете в функции. Некоторые аргументы имеют то же имя, что и функции (поначалу это немного сбивает с толку, но к этому вы привыкнете). Поэтому, когда я говорю аргумент subset, я говорю о вашем втором аргументе функции subset, которую вы не назвали. Это нормально, но когда вы начинаете изучать R, старайтесь всегда называть свои аргументы.

Итак,

allabc <- subset(dataname, dataname$category_name2 == "abc")

Необходимо изменить на:

allabc <- subset(dataname, subset=category2_name == "ABC")

И вам также не нужно снова указывать имя данных в подмножестве аргумент, поскольку вы сделали это уже в первом аргументе (который вы не назвали, но почти все никогда не удосужились это сделать).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...