中位数:需要数值数据

Median : need numeric data

为什么常规子集化可能不起作用?我想从 data.table:

计算中位数
    > median(DT.UsersA3[,1])
Error in median.default(DT.UsersA3[, 1]) : need numeric data

虽然它是数字:

> class(DT.UsersA3$Timedif)
[1] "numeric"

使用 iris 数据框可以工作:

> median(iris[,3])
[1] 4.35

词汇子集化也有效...

> median(DT.UsersA3$Timedif)
[1] 422.046

这里是 iris 的例子:

library(data.table)
Iris <- data.table(iris)
median(Iris[,1])
# Error in median.default(Iris[, 1]) : need numeric data
Iris[,1] # is a data.table
Iris[,Sepal.Length] # is a vector

要使用列号,您可以关注 Dason 的评论:

Iris[[1]] # would return a vector 
median(Iris[[1]]) # works