У меня есть следующий фрейм данных (первые 15 строк), который я назвал "tableIOPT":
IO PT FA FR
1 não-orientado_gerúndio forma-base 0 0%
2 não-orientado_infinitivo forma-base 0 0%
3 não-orientado_particípio_masculino forma-base 0 0%
4 orientado_finito_passado_imperfectivo forma-base 0 0%
5 orientado_finito_passado_perfectivo_I forma-base 0 0%
6 orientado_finito_passado_volitivo forma-base 1 100%
7 orientado_finito_presente forma-base 0 0%
8 orientado_não-finito_imperativo_I forma-base 0 0%
9 orientado_não-finito_subjuntivo_condicional forma-base 0 0%
10 orientado_não-finito_subjuntivo_conjuntivo forma-base 0 0%
11 ZERO forma-base 3 27.27%
12 não-orientado_gerúndio modal 0 0%
13 não-orientado_infinitivo modal 0 0%
14 não-orientado_particípio_masculino modal 0 0%
15 orientado_finito_passado_imperfectivo modal 0 0%
И мне нужно вычислить промежуточные итоги в столбце "FA" по группам в столбце "PT".Например: всего 4 «форм-базы».
Я не эксперт, но я знаю, что нетрудно просто подсчитать промежуточные итоги.Я использовал margin.table (tabelaIOPT, 2), и он отлично показывает результаты.Проблема в том, что я проведу некоторое статистическое тестирование позже, и мне нужны эти промежуточные итоги в том же кадре данных.
Это то, что я уже пробовал:
for (i in length(subtotals)) {
tableIOPT[grep(names(subtotals)[i],tableIOPT[,2]),5] <- subtotals[i]
}
Эти "промежуточные итоги"просто (когда это была таблица, прежде чем я превратил ее в информационный кадр):
subtotals <- margin.table(tableIOPT,2)
И, в частности, таблица IOPT имеет 99 строк.Но у меня есть МНОГО других фреймов данных с той же конфигурацией.
Ожидаемые результаты в этом случае: "4, 4, 7, 10, 7, 19, 13, 2, 6" для "форматированияbase, modal, não-ориентация_gerúndio, não-Ориентада_infinitivo, não-сайтеtado_particípio, Ориентада_finito_passado, ориентация_finito_presente, Ориентада_não-finito_imperativo, ZERO ", соответственно. * 1016«вставить» результаты там.Однако этот цикл работает только для последнего элемента вектора промежуточных итогов.