dplyr mutate_at或mutate:如何将一列的值附加到一组列

时间:2017-03-14 23:17:14

标签: r dplyr

想在一系列列中使用mutate_at,该函数接受某个其他列的值(下面的v1)作为第二个参数。有关如何使用mutate_at执行此操作的任何建议吗?

df2 <- df1 %>%
  select(v1,c1:cN) %>%
  rowwise() %>%
  # not working
  mutate_at(vars(c1:cN),funs(paste(.,v1,sep="-")))

1 个答案:

答案 0 :(得分:1)

我想你想写自己的功能。也许:

myFun <- function(x,y){
 paste(x,y, sep="-")
}

那么

df2 <- df1 %>%
  select(v1,c1:cN) %>%
  rowwise() %>%
  mutate_at(vars(c1:cN),funs(myFun(.,v1)))

请提供df1数据的最小工作示例。