我在使用时看到错误
dplyr::summarise_each
总结一下角色
data.frame中的向量。
举一个简单的例子,请考虑此示例data.frame
tmp <- data.frame(A=c("a", "b", "b", "c", "c", "d", "d"),
B=c("u", "v", "v", NA, NA, "x", "y"),
stringsAsFactors = FALSE)
tmp
| A | B |
|---+-----|
| a | u |
| b | v |
| b | v |
| c | nil |
| c | nil |
| d | x |
现在,我想用“A”对这个data.frame进行分组并运行一点 剩余列上的函数:
uniqueorna <- function(x) {
if (length(unique(x)) == 1) {
unique(x)[1]
} else {
NA
}
}
使用dplyr::summarise_each
正常工作
第一行:
library("dplyr")
tmp[1:6,] %>% group_by(A) %>% summarise_each(funs(uniqueorna(.)))
| A | B |
|---+-----|
| a | u |
| b | v |
| c | nil |
| d | x |
但它在完整的data.frame
上失败了tmp[1:7,] %>% group_by(A) %>% summarise_each(funs(uniqueorna(.)))
Error: expecting a string
我想明白为什么会失败。还有一种崩溃的方式 像这样将不同的字符串值转换为NA。