Какую глупость я делаю здесь, когда использую tidyr::uncount
в функции:
library(tidyverse)
library(tidyr)
df <- data.frame(a = c(2, 3, 4),
freq = c(3, 4, 5))
df
# a freq
# 1 2 3
# 2 3 4
# 3 4 5
#WORKS
df2 <- df %>%
tidyr::uncount(freq)
df2
# a
# 1 2
# 1.1 2
# 1.2 2
# 2 3
# 2.1 3
# 2.2 3
# 2.3 3
# 3 4
# 3.1 4
# 3.2 4
# 3.3 4
# 3.4 4
Но когда я помещаю это в функцию, я получаю ошибку Error: weights must evaluate to a numeric vector Called from: tidyr::uncount(., frequency_var)
.
my_fun <- function (x, frequency_var) {
df2 <- df %>%
dplyr::select(x, frequency_var) %>%
tidyr::uncount(frequency_var) %>%
dplyr::arrange(x)
df2
}
my_fun("a", "freq")
Error: `weights` must evaluate to a numeric vector
Called from: tidyr::uncount(., frequency_var)
Моя freq
переменная числовая?