我想折叠我的数据框,以便每行只有一个因子变量,并且所有值都折叠为每一行。下面是一个例子:
mat <- data.frame(type = c(rep("int",5), rep("num",5)), diag(sample.int(9,6), 10))
mat[mat == 0] <- NA
mat[5,11] <- 4
现在我希望这是:
类型, X1, ..., X8, X9, X10
整数, 2, 7, ..., 不适用, 不适用, 4
数, 不适用, 不适用, ..., 3, 1
集团通过type
,然后使用summarize_all
具有na.omit
:
mat %>% group_by(type) %>% summarise_all(funs(na.omit(.)[1]))
# A tibble: 2 x 11
# type X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
# <fctr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#1 int 8 3 7 6 4 NA NA NA NA 4
#2 num NA NA NA NA NA 9 8 3 7 6
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句