私は 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 進数のデータ フレームでは実行できません。私が何をする必要があるかについて何か提案はありますか?答えは非常に単純だと確信していますが、この単純なタスクに必要なコーディングが見つかりません。どんな助けでも大歓迎です。