сумма столбца из сгруппированного тибля - PullRequest
1 голос
/ 13 февраля 2020

У меня есть следующий фрейм данных:

library(tidyverse)
datasetmax <- data.frame(pearl = c('new','new','recurrent','recurrent','new'),
                         jam = c(10,20,30,40,50), 
                         dog = c(1,2,3,1,2),
                         stringsAsFactors = FALSE)

И я сгруппировал фрейм данных в сводку:

datasetmax %>% 
  mutate(temple = ifelse(pearl == 'new', jam * 0.1, jam * 0.2)) %>% 
  group_by(pearl) %>% summarise(plus = sum(temple), weight = sum(jam*dog)/sum(dog))

Я хочу получить сумму веса столбца (два значения), должно быть 62,5

Я попробовал следующий код:

datasetmax %>% 
  mutate(temple = ifelse(pearl == 'new', jam * 0.1, jam * 0.2)) %>% 
  group_by(pearl) %>% summarise(plus = sum(temple), weight = sum(jam*dog)/sum(dog)) %>% colSums(plus)

Но он говорит мне, что столбец "плюс" не существует. Почему? Не могли бы вы дать мне руку? Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 февраля 2020

как то так:

datasetmax %>% 
  mutate(temple = ifelse(pearl == 'new', jam * 0.1, jam * 0.2)) %>% 
  group_by(pearl) %>% summarise(plus = sum(temple), weight = sum(jam*dog)/sum(dog)) %>% 
  select(weight) %>% sum()
1 голос
/ 13 февраля 2020

Это должно быть присуждено Аксеману, потому что он ответил на вопрос Ману:

datasetmax %>% 
  mutate(temple = ifelse(pearl == 'new', jam * 0.1, jam * 0.2)) %>% 
  group_by(pearl) %>% summarise(plus = sum(temple), weight = sum(jam*dog)/sum(dog)) %>% pull(weight) %>% sum()

Надеюсь, это поможет. Привет.

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