0

私は R (一般的なコンピューター プログラミング) に非常に慣れておらず、バイオインフォマティクス プロジェクトに取り組んでいます。MySQL データベースを作成し、R の MySQL サーバーでそのデータベースに接続された RMySQL を使用します。ここからクエリを発行して、テーブルから特定のフィールドを選択し、このデータをフェッチして、以下に示すように R のデータ フレームにします。

> rs = dbSendQuery(con, "select mastitis_no from experiment")
> data = fetch(rs, n=-1)
> data
   mastitis_no
1            5
2            2
3            8
4            6
5            2
....

> rt = dbSendQuery(con, "select BMSCC from experiment")
> datas = fetch(rt, n=-1)
> datas
   BMSCC
1  14536
2  10667
3  23455
4  17658
5  14999
....

> ru = dbSendQuery(con, "select cattle_hygiene_score_avg from experiment")
> dat = fetch(ru, n=-1)
> dat
   cattle_hygiene_score_avg
1                      1.89
2                      1.01
3                      1.21
4                      1.22
5                      1.93
....

最初の 2 つのデータ フレームは整数で、3 番目のデータ フレームは 10 進数形式です。これらのデータ フレームで簡単な相関テストを実行できますが、以下に示すように詳細なテスト (またはプロット) を実行することはできません。

> cor(data, datas)
                BMSCC
mastitis_no 0.8303017
> cor.test(data, datas)
Error in cor.test.default(data, datas) : 'x' must be a numeric vector

したがって、通常のリスト Idexing デバイス $ を使用してこれらのデータ フレーム内のデータにアクセスしましたが、以下に示すように 10 進データ フレームは機能しませんでした。

> data$mastitis
 [1] 5 2 8 6 2 0 5 6 7 3 0 1 0 3 2 2 0 5 2 1

> datas$BMSCC
 [1] 14536 10667 23455 17658 14999  5789 18234 22390 19069 13677 13536 11667 13455
[14] 17678 14099 15789  8234 21390 16069 13597

> dat$hygiene
NULL

これを行うことで、最初の 2 つのデータ フレームでスピアマンの順位相関テストと散布図を実行できますが、10 進数のデータ フレームでは実行できません。私が何をする必要があるかについて何か提案はありますか?答えは非常に単純だと確信していますが、この単純なタスクに必要なコーディングが見つかりません。どんな助けでも大歓迎です。

4

0 に答える 0