#r #loops #filter
Вопрос:
У меня есть таблица данных с 3 переменными, 1 столбцом частоты, и я хочу добавить еще один столбец пропорций.
Переменная 1 имеет 4 уникальных значения. Переменная 2 имеет 5, А Переменная 3 имеет 2.
Частоты фиксируют количество раз, когда это происходит. Но если я добавлю к нему prop.table, он вычислит пропорцию по отношению ко всей таблице data.table, когда я действительно хочу, чтобы он рассчитал пропорцию в подмножествах переменной 2.
Я думал об итерации, но в таблицах это кажется сложным.
Ответ №1:
Вы можете использовать aggregate
функцию (или tapply) для суммирования всех подсчетов в категориях переменной 2, а затем использовать prop.table
или аналогично результату.
Если вы хотите использовать tidyverse вместо базы R, то за этим group_by
следует summarise
добавить в каждую группу, а затем prop_table
снова рассчитать пропорции.
Комментарии:
1. Альтернативным решением tidyverse было
pivot_longer
бы привести фрейм данных в порядок перед вычислением сводки. Если бы необходимо было включить категории нулевой частоты, вам понадобился бы окончательныйexpand()
или аналогичный.