Как оценить дополнительные переменные в df по группе в R? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть фрейм данных, состоящий из идентификатора стенда, типа обработки, ревизии и диаметра дерева. Я хочу оценить дополнительную переменную - Quadrati c средний диаметр (и другие переменные) для каждого стенда, ревизии и обработки отдельно, используя функцию: sqrt (sum (dia ^ 2) / n).

Пример моего набора данных:

ID Rev Обработка dia

1523 1 A 7.549834

1523 1 A 4.500000

1523 1 B 1.500000

1523 1 B 2.949576

1523 2 A 6.348228

1523 2 A 2.900000

1523 2 B 3.400000

1523 2 B 6.449806

1545 1 A 2.349468

1545 1 A 5.249762

1545 1 B 6.249800

1545 1 B 8.748714

1545 2 A 0,100000

1523 2 A 0,100000

1523 2 B 3.200000

1523 2 B 3.200000

Итак, в основном я хочу получить оценку Dq для 1) Стенд 1523, Ред. 1, Лечить А; 2) 1) Стенд 1523, Ред. 1, Лечить Б; 3) Стенд 1523, Ред. 2, Лечить А и т. Д.

Мой набор данных намного больше, состоит из 4 обработок, 6 ревизий и 8 стендов. Я думаю, что сделать al oop было бы одним из вариантов, но должен быть более простой способ сделать это?

1 Ответ

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

Вот один из способов использования dplyr:

library(dplyr)
data.df %>% 
  group_by(ID, Rev, Treat) %>% 
  summarise(quadratic_mean_diameter = sqrt(sum(dia^2)/length(dia)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...