Я пытаюсь подсчитать результаты из одного набора данных, который я импортировал в R, и отобразить эти подсчеты в отдельном наборе данных, который создается в R для каждого уникального игрока.
Вот что такое упрощенная версия набор данных выглядит только с соответствующими столбцами:
Label <- c("Raul", "Raul", "Raul", "Eric", "Eric", "Eric", "Aaron", "Aaron", "Aaron")
Result <- c("s", "b", "fo", "s", "f", "b", "ss", "go", "s")
df2 <- data.frame(Label, Result)
Мои данные были скомпилированы в Excel и экспортированы как CSV с примерно 4000 строками с похожими результатами и примерно 45 уникальными «метками», но этот меньший пример показывает вы, как выглядит df. Вот пример того, что я хочу получить (разрывы строк для разделения строк):
Raul, count (s), count (b), count (fo), et c
Eri c, count (s), count (b), count (fo), et c
Aaron, count (s), count (b), count (fo) ), et c
Таким образом, каждая уникальная «метка» для игроков находится в строке, а столбцы - это количество каждого типа результата. Он должен дать мне 45 строк, по одной для каждого уникального игрока в моем наборе данных.
Мне удалось получить уникальные ярлыки игроков, выполнив это:
dfstat <- data.frame(unique(df2$Label)
Проблема возникает, когда я пытаюсь подсчитать каждый результат. Я пробовал разные вещи, например:
dfstat <- dfstat %>%
mutate(Strikes = count(subset(df2, Label = unique.df2.label & Result == "s")))
Но я получаю этот код ошибки: Error: Column ``Strikes`` is of unsupported class data.frame
И
df34$Strikes <- count(subset(df2, Label = unique.df2.label & Result == "s"))
Выдает мне эту ошибку code: Error in ``$<-.data.frame``(``*tmp*``, Strikes, value = list(n = 9L)) : replacement has 1 row, data has 3
Я делаю что-то похожее на то, чтобы быть частью Shiny App, и это работало без проблем, но это потому, что я смог подмножество для моего входного значения одного игрока. Но у меня возникли проблемы с получением этих данных подсчета для ВСЕХ уникальных игроков в моем наборе данных в другой набор данных в R.
Я благодарен за любую помощь с этой проблемой, потому что я действительно предпочел бы не вводить вручную все мои разные формулы подсчета для каждого уникального игрока. Спасибо!