2017-04-11 57 views
0

爲什麼常規子集化可能無效?我想從一個data.table計算位數:中位數:需要數值數據

> median(DT.UsersA3[,1]) 
Error in median.default(DT.UsersA3[, 1]) : need numeric data 

它是數字,但:

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

虹膜數據幀它的工作原理:

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

和詞彙子集也適用。 ..

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

看一看'DT.UsersA3 [,1]' - 這是一個'data.table' – jogo

回答

0

這裏是t他舉例與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 

使用的列的數量,您可以按照從達誠註釋:

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

這給出了它不工作的原因,但不是如何工作。 – Dason

+1

虹膜[[1]]會返回第一列的矢量,並應提供一個答案 – Dason

+0

你走了,謝謝! – Nachospt