【发布时间】:2019-04-05 16:12:37
【问题描述】:
我正在尝试创建如下合并函数:
定义函数
merge_tables <- function(inputdata1, inputdata2, byvar1, byvar2) {
byvar1 <- enquo(byvar1)
byvar2 <- enquo(byvar2)
outputdata <- inputdata1 %>%
full_join(inputdata2, by = c(rlang::quo_text(byvar1) = rlang::quo_text(byvar2)))
return(outputdata)
}
使用以下数据和代码运行时出现错误:
模拟数据
set.seed(1)
data1<- data.frame(ID = sample(1:2), letter1 = sample(letters, 2, replace = TRUE))
data2<- data.frame(PatID = sample(1:3), letter2 = sample(letters, 3, replace = TRUE))
使用定义函数的代码
testing_merge <- merge_tables(data1, data2, ID, PatID)
错误信息
Error: unexpected '=' in:
" outputdata <- inputdata1 %>%
full_join(inputdata2, by = c( (rlang::quo_text(byvar1)) ="
>
> return(outputdata)
Error: object 'outputdata' not found
> }
Error: unexpected '}' in "}"
我想知道是否有人能看到任何明显的问题?...非常感谢。
【问题讨论】:
标签: r merge dplyr user-defined-functions