我对R(一般的计算机编程)非常陌生,正在从事生物信息学项目。我创建了一个MySQL数据库并使用连接到R中MySQL服务器中的数据库的RMySQL。从这里我发出查询以从表中选择某个字段,获取此数据并将其转换为R中的数据框,如下所示: / p>
> 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个数据帧是整数,第三个数据帧是十进制格式。我能够对这些数据帧进行简单的相关性测试,但无法运行详细的测试(或绘图),如下所示。
> 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设备$访问这些数据帧内的数据,但是十进制数据帧不能正常工作。
> 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
通过这样做,我能够对前两个数据帧执行spearman等级相关性测试和散点图,但不能对十进制数据帧执行散点图。关于我需要做什么的任何建议?我确信答案很简单,但我找不到这个简单任务所需的编码。任何帮助将不胜感激。