R: объединение значений из одного столбца на основе значения другого столбца

#r

#r

Вопрос:

Допустим, у меня есть следующий DF:

 >TEST
$`TEST`
             X      Y
[1,] 343.8986928 100.0000000000
[2,] 344.8980807   1.5791135909
[3,] 344.9029097   0.1523702597
[4,] 344.9049696   1.4031613636
[5,] 345.8944890   8.9483103485
[6,] 345.9029386   0.8219974538
[7,] 346.9007657   0.1255592335
[8,] 347.8902851   0.2001806452
  

Я хочу добавить значения Y для каждого интервала, равного единице в X.

Итак, я хотел бы, чтобы 343, 344, 345, 346, 347 были ячейками и использовались для добавления Y.

Итак, для 344 я бы добавил 1.579 0.152 1.403 .

А затем выведите одно число для каждого интервала, например:

100, 3.13, 9.7, 0.12, 0.2

Где 100 == 343, 3.13 == 344, и т.д.

Числа в X будут отличаться. Например, 212, 213, 214 или 112, 113, 114 и т.д.

Любая помощь будет с благодарностью принята.

Ответ №1:

Вычислите ячейки, взяв слово. Затем группируйте и суммируйте:

 library(tidyverse)
TEST %>%
mutate(X = floor(X)) %>% 
  group_by(X) %>% 
  summarize(Y = sum(Y))
  

Комментарии:

1. Это приведет к потере исходных значений X. Если вы хотите сохранить их, было бы лучше сохранить floor(X) как новую переменную и сгруппировать по ней.

2. Вы все равно потеряете оригинал X с summarize()