0
我正在考慮基於dplyr包創建函數。我見過幾個例子,比如Janitor包和Organism.dplyr。但是,我不知道我可以擴展或固有dplyr功能,或者即使可能。創建一個基於dplyr的函數
例如,我想:
數據%>%GROUP_BY(columnX)%>%my_mutate_like_function()
但是,它不工作,我看到了一個關於它的使用後DO()作爲替代... 但是,這不是我想要的。
任何人都可以幫助我嗎?謝謝。
==遵循代碼示例(編輯)==
data <- data.frame(groupname = c('A', 'B', 'A', 'A', 'B', 'B'),
value = c(1, 3, 4, 2, 1.4, 5))
my_mutate_like_function <- function(data) {
data$category <- ifelse(data$value <= mean(data$value), 'In', 'Out')
data$meanvalue <- mean(data$value)
data
}
data_works <- data %>% group_by(groupname) %>%
mutate(category = ifelse(value <= mean(value), 'In', 'Out'), meanvalue = mean(value))
# That's the right output, each "groupname" had their average calculated and it was used a threshold value
data_fails <- data %>% group_by(groupname) %>%
my_mutate_like_function()
# The group_by properties seems not work inside my function
你能證明不隨數據樣本和預期輸出工作的代碼? – eipi10
我添加了一個代碼示例。 – andrefonseca
對不起,如果這是一個愚蠢的評論,但只是在你的函數內使用dplyr,即包裝?或者你想在你的函數中使用「baseR方法」? – friep