使用基本最大功能进行澄清

时间:2016-07-19 04:20:18

标签: r max

假设我有以下数据框:

m <- data.frame(a = c(".","1",2:10), 
                b = c(".","2",4:12), 
                c = c(rep(".",11)))

我使用apply来获取每一行的最大值:

maxrowval <- apply(m,1,max)  
fin <- cbind(m,maxrowval)

问题是fin的第9行和第10行没有给出最大值。 我必须在这里遗漏一些东西但不能指出问题的根源。也许与因素和水平有关。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

将评论中提到的字符问题与max功能相结合,并从结果中删除"-Inf"

foo <- function(x){
  tmp <- max(as.numeric(as.character(x)), na.rm = T)
  ifelse(tmp == "-Inf", NA, tmp)
}
apply(m, 1, foo)
[1] NA    2    4    5    6    7    8    9   10   11   12