Я делаю упражнение, чтобы попрактиковаться в написании функций. Проблема в том, чтобы моя функция воспроизводила тот же вывод, что и функция separate
в dplyr
.
У меня есть следующий фрейм данных:
df <- data.frame(dates = c("2005-06-29", "2005-07-16", "2005-12-01"),
values = c("F:62:130", "F:68:149", "M:68:160"),
stringsAsFactors = FALSE)
Я хочу разделить столбец «значения» на три отдельных столбца (разделить на двоеточие) и удалить столбец «значения» в окончательный фрейм данных должен выглядеть следующим образом:
dates gender ht wt
1 2005-06-29 F 62 130
2 2005-07-16 F 68 149
3 2005-12-01 M 68 160
Проблема, с которой я сталкиваюсь, заключается в присвоении имен новым столбцам в моей функции. Это то, что у меня есть:
into <- c()
names(into) <- c(a = "", b = "", c = "")
Но когда я запускаю свою новую функцию, я получаю сообщение об ошибке, которое пытаюсь to set an attribute on NULL.
Когда я удаляю в / names (into), я получаю следующее (с неправильными именами новых столбцов):
dates values a b c
1 2005-06-29 F:62:130 F 62 130
2 2005-07-16 F:68:149 F 68 149
3 2005-12-01 M:68:160 F 68 160
Как создать аргумент into
в функции, который позволяет мне называть столбцы так, как я хочу