Переменные не классифицированы в purrr :: pmap - PullRequest
0 голосов
/ 25 декабря 2018

Данные о игрушках

(df <- data.frame(Var1 = LETTERS[1:5],
                  Var2 = ISOdate(2018, 1:5, 1)))

#   Var1                Var2
# 1    A 2018-01-01 12:00:00
# 2    B 2018-02-01 12:00:00
# 3    C 2018-03-01 12:00:00
# 4    D 2018-04-01 12:00:00
# 5    E 2018-05-01 12:00:00

str(df)
# 'data.frame': 5 obs. of  2 variables:
#  $ Var1: Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
#  $ Var2: POSIXct, format: "2018-01-01 12:00:00" "2018-02-01 12:00:00" ...

Описание

df имеет две переменные, одна - класс factor, а другаяPOSIXctЯ делаю простую операцию, например, вставка двух переменных одна за другой.Ожидаемый результат должен быть:

mapply(df$Var1, df$Var2, FUN = paste, sep = "-")

[1] "A-2018-01-01 12:00:00" "B-2018-02-01 12:00:00" "C-2018-03-01 12:00:00"
[4] "D-2018-04-01 12:00:00" "E-2018-05-01 12:00:00"

Однако, если использовать purrr::pmap(), я получаю что-то не так.По-видимому, каждая переменная не классифицирована до своего исходного типа перед вставкой вместе.Почему pmap так устроен и как с этим бороться?(Такая ситуация не возникает в других функциях карты, таких как map или map2.)

purrr::pmap(df, paste, sep = "-")

[[1]]
[1] "1-1514808000"

[[2]]
[1] "2-1517486400"

[[3]]
[1] "3-1519905600"

[[4]]
[1] "4-1522584000"

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