2012-08-08 56 views
0

我用下面的代碼:提取純數字列,然後傳遞一個矩陣熱圖()中的R

data<-read.csv('/Users/mf/Desktop/acceptor.csv') 
just_nums<-sapply(data,is.numeric) 
just_nums_data<-data[,just_nums] 
str(just_nums_data) 
heatmap(just_nums_data) 

但得到這樣的輸出:

data<-read.csv('/Users/mf/Desktop/acceptor.csv') 
just_nums<-sapply(data,is.numeric) 
just_nums_data<-data[,just_nums] 
str(just_nums_data) 
'data.frame': 622 obs. of 16 variables: 
ID         : int 1 2 4 5 6 7 8 9 10 11 ... 
QnWeight_initial     : int 158 165 137 129 155 150 119 153 137 153 ... 
QnWeight_initial_mg    : num 15.8 16.5 13.7 12.9 15.5 15 11.9 15.3 13.7 15.3 .... 
Days_till_1st_Wrkr     : int NA 21 NA 26 NA 23 22 20 22 NA ... 
Days_before_max_Wrkr_Eclosion  : int NA 12 NA 7 NA 10 11 13 11 NA ... 
Wrkr_Eclosion_Bin     : int NA 3 NA 1 NA 1 2 3 2 NA ... 
QnMass_At_Wrkr_Eclosion   : int NA 83 NA 73 NA 67 53 78 56 NA ... 
ColonyMass_At_Wrkr_Eclosion  : int NA 117 NA 53 NA 91 85 111 96 NA ... 
Adult_Wrkrs_At_Wrkr_Eclosion  : int NA 9 NA 5 NA 1 7 3 2 NA ... 
Mature_Brood_At_Wrkr_Eclosion  : int NA 25 NA 13 NA 17 18 27 28 NA ... 
Sum_wrkrsPlusBrood_At_Wrkr_Eclosion: int 0 34 0 18 0 18 25 30 30 0 ... 
QnMass_2wksLater     : int NA 124 NA NA NA 111 NA NA NA NA ... 
QnMass_4wksLater     : int NA 117 NA NA NA 88 NA NA NA NA ... 
ColonyMass_4wksLater    : int NA 571 NA NA NA 736 NA NA NA NA ... 
QnMass_2mnthsLater     : int NA 118 NA NA NA 86 NA NA NA NA ... 
ColonyMass_2mnthsLater    : int NA 445 NA NA NA 1817 NA NA NA NA ... 
heatmap(just_nums_data) 
Error in heatmap(just_nums_data) : 'x' must be a numeric matrix 

我想我的困惑在規定類型「int」滿足is.numeric()的事實,但在傳遞給heatmap()時不算作數字。這是什麼錯誤?

回答

4
  • heatmap要求x是一個數字矩陣(見?heatmap)。
  • 它通過使用is.numeric(x) 或更具體地一個numeric物體2種尺寸
    • length(di <- dim(x)) != 2 || !is.numeric(x)
  • 一個data.frame不是數字矩陣,即使所有的列是數字測試此

例如:

.d <- data.frame(x= 1:10, y = runif(10)) 
is.numeric(.d) 
## [1] FALSE 

那麼,你就需要運行

heatmap(as.matrix(just_nums_data)) 
+0

剛纔看到你的答案,我貼我的意見後。 +1 – A5C1D2H2I1M1N2O1R2T1 2012-08-08 03:58:34

+0

謝謝!這樣做! – Atticus29 2012-08-08 18:58:29

相關問題