将多列折叠为单行,每列的最大值是多少?

时间:2017-11-10 00:37:48

标签: r dplyr

说我有类似的东西

df <- data.frame(row1 = c(1, 2), row2 = c(3, 1), row3 = c(1, 4))

我希望折叠列,只保留每行的最大值,使得df是包含2,3,4的单行。我该怎么办?

3 个答案:

答案 0 :(得分:3)

简单:

as.data.frame(lapply(df, max))
#   row1 row2 row3                                                               
# 1    2    3    4   

答案 1 :(得分:3)

使用data.table

library(data.table)
setDT(df)[, lapply(.SD, max)]

<强>结果:

   row1 row2 row3
1:    2    3    4

答案 2 :(得分:2)

使用dplyr

df %>% dplyr::summarise_all(max)

#   row1 row2 row3
# 1    2    3    4