Значение группы для столбца данного другого столбца - PullRequest
1 голос
/ 02 апреля 2020

Я хочу посчитать значение столбца 1 для каждого значения в столбце 2

Я посмотрел на group_by, summarize и sum, но не понимаю, как это работает.

Я пробовал, например:

df <- data0 %>%
group_by(Room) %>%
summarize(count = n()) %>% 
mutate(Timespend = sum(Time))

В итоге вы увидите, сколько раз используется комната. Теперь я хотел бы видеть, что Комната X используется 100 раз (это у меня есть) в общей сложности 300 часов

Пример:

Activity Room Time Date
Math     C123 3.50 2019/10/10
Physics  C123 1.5  2019/10/10
English  C123 2.5  2019/10/11 
Math     C124 3.20 2019/10/10
Physics  C124 2.5  2019/10/10
English  C124 1.5  2019/10/11

Все действия происходят в комнате C123 и C124 и Я хотел бы видеть общее время активности в данной комнате

Так что-то вроде этого:

Room Count Timespend
C123 3     7.5
C124 3     7.2

Конечно, есть больше комнат и больше дат, но этот пример дает сущность.

Dput:

structure(list(Activity = c("Math", "Physics", "English", "Math", 
"Physics", "English"), Room = c("C123", "C123", "C123", "C124", 
"C124", "C124"), Time = c(3.5, 1.5, 2.5, 3.2, 2.5, 1.5), Date = structure(c(1570665600, 
1570665600, 1570752000, 1570665600, 1570665600, 1570752000), class = c("POSIXct", 
"POSIXt"), tzone = "UTC")), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

1 Ответ

0 голосов
/ 02 апреля 2020

Попробуйте это:

df <- data0 %>% group_by(room) %>% 
  mutate(Timespend = sum(Tdiff),
         n = 1:n()) %>%
  filter(n == 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...