“max”对R

时间:2016-06-04 11:04:00

标签: r

getImportDate <- function(){
  hdfs.init()
  f <- hdfs.file("/user/rstudio/rdataecommerce4.csv","r")
  m <- hdfs.read(f)
  c <- rawToChar(m)
  data <- read.table(textConnection(c), header=TRUE , sep = ",")
  print(max(data$date, na.rm=TRUE))  //ERROR AT THIS LINE

}

我收到错误:

Error in Summary.factor(c(49L, 49L, 49L, 49L, 68L, 69L, 71L, 72L, 74L,  : ‘max’ not meaningful for factors

为什么我收到此错误以及如何解决此问题?

2 个答案:

答案 0 :(得分:10)

  

为什么我收到此错误?

您收到此错误是因为要尝试获取类型因子变量的最大值,这没有意义。

max(as.factor(49L))
# Error in Summary.factor(1L, na.rm = FALSE) : 
#   ‘max’ not meaningful for factors
  

我该如何解决这个问题?

使用max有意义的变量(可能在类型转换后):

max(as.Date("2016-01-01"))
# [1] "2016-01-01"

答案 1 :(得分:3)

你可以尝试

print(max(as.numeric(as.character(data$date)), na.rm=TRUE))