R dplyr мутировать в функции - PullRequest
0 голосов
/ 08 мая 2018

Это должен быть очень простой код, я просто пытаюсь привязать новые переменные к существующему фрейму данных. Однако dplyr mutate, похоже, не работает внутри функции. Когда я вызываю функцию addLocation, элементы не добавляются.

Данные о местоположении (df.russia_locations)

 location    lon         lat
 Kalingrad  20.45221    54.71043        
  Moscow    37.61730    55.75583    

Привязка к itemTest (может быть любым набором данных)

     addLocation <- function(itemInfo){ itemInfo <- mutate(itemInfo,
                                     Kalingrad_lon = df.russia_locations[1,2],
                                     Kalingrad_lat = df.russia_locations[1,3],
                                     Moscow_lon = df.russia_locations[2,2],
                                     Moscow_lat = df.russia_locations[2,3]
                                    )}
     addLocation(itemTest)

Должно быть, я что-то упустил?

1 Ответ

0 голосов
/ 08 мая 2018

Вам необходимо добавить return(itemInfo) перед вашей последней скобкой в ​​вашей функции или удалить присвоение itemInfo <- в вашей функции. Если вы назначите вывод вашей функции имени, вы получите ожидаемый вывод на печать.

> itemTest2 <- addLocation(itemTest)
> length(addLocation(itemTest))
[1] 5
> length(addLocation(itemTest))==length(itemTest)
[1] FALSE
...