我看到很多问题,但在我的特定情况下没有任何作用。
我正在建设功能,将某些列长到一点。它扩展了因子,因此它们可以转换为整数(标志)。在里面我使用函数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 = ""))
}
如果有人想要使用此功能,则需要使用唯一值添加虚拟列,否则将删除一些观察值作为重复项。操作后,可以移除色谱柱。(我在清洁开始时进行清洁,最后移除)。