データフレームの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を導入し、> level(tab.c.graph)はNULLを返します。私のテーブルの数字は... – Chargaff
data.frame全体でレベルを取得することはできません。特定の要因の変換前のレベルを調べるには、レベル(tab.c.graph $ BacD)を使用する必要があります。 –
はい、変換が動作します。あなたの説明は私を大いに助けました。ありがとう! – Chargaff