如何在R中传递列名以充当嵌套函数的参数

时间:2017-05-12 18:25:03

标签: r dplyr tidyr spread

我看到很多问题,但在我的特定情况下没有任何作用。 我正在建设功能,将某些列长到一点。它扩展了因子,因此它们可以转换为整数(标志)。在里面我使用函数spread()来获取要传播的列的名称。我尝试了所有可以找到的组合,没有任何效果。此功能将可重复使用,并在一次通过中旋转各个列。所以传递列名是必不可少的。

这是我尝试过的许多非工作技巧之一:key = dataFrame[, columnName]spread()。 (函数体的最后一行)

这是功能代码:

pivotColumn <- function(dataFrame, columnName) {

as.data.frame(dataFrame %>% 
group_by_( .dots = names(dataFrame)[1:ncol(dataFrame)] ) %>% 
tally %>% dplyr::rename(temporary = n) %>% 
spread( key = dataFrame[, columnName], value = "temporary", fill = ""))

}

如果有人想要使用此功能,则需要使用唯一值添加虚拟列,否则将删除一些观察值作为重复项。操作后,可以移除色谱柱。(我在清洁开始时进行清洁,最后移除)。

0 个答案:

没有答案