Как получить доступ к именам переменных, которые сделаны из значений во фрейме данных в R? - PullRequest
0 голосов
/ 18 сентября 2018

Итак, я импортирую фрейм данных, реорганизуя фрейм данных на основе алфавитного порядка имен в столбце, удаляя дубликаты имен и возвращая вектор всех игроков.Затем я создаю фрейм данных для каждого игрока, используя вектор игроков с соответствующими столбцами, которые я хочу.Проблема в том, что я хочу получить доступ к новым фреймам данных всех игроков без необходимости индивидуально называть имена новых фреймов данных.Вот мой код:

#Reorder entire data frame by alphabetical order in lastName column
entryDataFrame <- entryDataFrame[order(entryDataFrame$lastName),]

#Delete duplicates of Last Names and returns a vector of all players
playerNames <- unique(entryDataFrame$lastName)

#Create a dataframe for every player and assign GameID, lastName, keyValue, and Type.of.Entry
  for(i in 1:length(playerNames)){
      assign(paste(playerNames[i]), entryDataFrame[entryDataFrame$lastName %in% playerNames[i],])
      entryDataFrame$Minutes <- NULL
      entryDataFrame$Seconds <- NULL
      entryDataFrame$Period <- NULL
      entryDataFrame$Jersey <- NULL
      entryDataFrame$Team <- NULL
      entryDataFrame$Even <- NULL
      entryDataFrame$Odd <- NULL

1 Ответ

0 голосов
/ 19 сентября 2018

Вы можете использовать функцию «split ()», чтобы создать список, в котором каждый элемент является кадром данных, содержащим данные для одного игрока.Затем, если вы хотите манипулировать всеми кадрами данных, вам просто нужно вызвать список.Кроме того, вы можете использовать функции из семейства apply (apply (), lapply () и т. Д.), Чтобы применить функцию к каждому элементу списка.Вот воспроизводимый пример:

    library("tidyverse")
# create a dummy table
test = data.frame(name = c("a", "a", "b", "b", "c"))
test = test %>% mutate(perf = c(3, 4, 2, 6, 8))
# create an object containing a dataframe per factor level of "name"
test_list = split(test, test$name)

Если вам нужна более точная помощь, приведите воспроизводимый пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...