Добавить новый столбец в dataframe, который является именем dataframe для цикла R? - PullRequest
0 голосов
/ 24 октября 2018

У меня есть список фреймов данных, и я хочу создать новый столбец в каждом фрейме данных, который является именем фрейма данных.Однако у меня возникли проблемы с этим.

new_list <- c("NY", "CA", "MI", "VA", "WY")

NY <- data.frame(phrase = c("one_two", "two_one", "three"))
CA <- data.frame(phrase = c("blue", "green", "three"))
MI <- data.frame(phrase = c("yellow", "green", "two"))
VA <- data.frame(phrase = c("two_one", "one_two", "orange"))
WY <- data.frame(phrase = c("green", "orange", "three"))

for (x in new_list){
   state <- x
   x <- get(x)
   x$geo <- town
 }

Я хочу, чтобы результат выглядел следующим образом:

   NY:    phrase        state
         one_two         NY
         two_one         NY
          three          NY

и т. Д.

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать mget, чтобы поместить данные в список, затем Map с помощью cbind, чтобы добавить новый столбец.

Map(cbind, mget(new_list), state = new_list)
# $NY
#    phrase state
# 1 one_two    NY
# 2 two_one    NY
# 3   three    NY
#
# $CA
#   phrase state
# 1   blue    CA
# 2  green    CA
# 3  three    CA

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