2
我不明白我的數據框上data.matrix的結果。目標是遏制結果。數據:使用data.matrix轉換數據幀(因子),奇怪的結果
> tab.c.graph
BacD BacE BacF
J01 2 6 10
J02 2 2 0
J03 9 4 6
J04 1 7 3
J05 11 10 2
J06 9 7 7
J07 8 3 0
J08 6 2 1
J09 4 3 2
J10 4 4 1
> str(tab.c.graph)
'data.frame': 10 obs. of 3 variables:
$ BacD: Factor w/ 8 levels "1","11","2"," 2",..: 4 3 8 1 2 8 7 6 5 5
..- attr(*, "names")= chr "J01" "J02" "J03" "J04" ...
$ BacE: Factor w/ 6 levels "10","2","3","4",..: 5 2 4 6 1 6 3 2 3 4
..- attr(*, "names")= chr "J01" "J02" "J03" "J04" ...
$ BacF: Factor w/ 8 levels "0","1","10","2",..: 3 1 7 6 5 8 1 2 4 2
..- attr(*, "names")= chr "J01" "J02" "J03" "J04" ...
> data.matrix(tab.c.graph)
BacD BacE BacF
J01 4 5 3
J02 3 2 1
J03 8 4 7
J04 1 6 6
J05 2 1 5
J06 8 6 8
J07 7 3 1
J08 6 2 2
J09 5 3 4
J10 5 4 2
> str(data.matrix(tab.c.graph))
int [1:10, 1:3] 4 3 8 1 2 8 7 6 5 5 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:10] "J01" "J02" "J03" "J04" ...
..$ : chr [1:3] "BacD" "BacE" "BacF"
爲什麼data.matrix與我的data.frame有如此不同?如上所述,我只需要繪製這些數據。
Thanx幫忙!
謝謝你的解釋。我已經嘗試過用as.numeric(as.character(tab.c.graph))來轉換我的因素,但是我通過強制錯誤引入了NAs並且> levels(tab.c.graph)給了我NULL,所以所有因素在我的表中是數字... – Chargaff 2012-02-26 17:55:50
你不能在整個data.frame上獲得關卡。你需要使用關卡(tab.c.graph $ BacD),如果你想在轉換之前查看特定因素的等級。 – 2012-02-26 18:03:51
是的,得到了轉換工作。你的解釋幫助了我很多。謝謝! – Chargaff 2012-02-26 18:09:54