由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Biology版 - 新手请教一个 R 作图的问题
相关主题
发包子求问,correlation (转载)请问一下这样的图是用什么软件作出来的,多谢?
请教基因coexpression 分析Paper Help
一篇NEJM就这样入账了……关于学生写review的问题
spearman correlation coefficient作array cluster analysis的时候 用Pearson correlation和Euclidean Distance有什么区别?
学习各种drug工作原理的动画 (转载)这样的数据该怎么显示其的significance?
人要有改变命运的勇气再请教一个统计的问题
Adobe Illustrator里怎么给图片加黑框?大家都用什么免费软件来替代 Vector NTi 啊?
简单地说说生物医学里的统计应用吧问个序列比对后作图问题
相关话题的讨论汇总
话题: cex话题: pch话题: spearman话题: data话题: col
进入Biology版参与讨论
1 (共1页)
h******t
发帖数: 10
1
我刚刚开始自学R,作图的时候遇到了一些问题。可能很基本,但是搜索了半天也没有找
到答案。这里高手多,请大家帮我看看。
我需要做一个 scatterplot 的matrix,找到了 asbio package。 我是这么做的:
data <-read.csv (file.choose(), header=TRUE, sep=",")
library(asbio)
attach(data)
panel.cor.res(x, y, digits = 2, meth = "spearman", cex.cor=1)
panel.lm(x, y, col =1, bg = NA, pch = 16, cex = 1,
col.line = 2, lty = 1)
pairs(data, cex.labels=1, cex=.95, gap=.1, lower.panel=panel.cor.res, upper.
panel=panel.lm)
panel.cor.res 和 panel.lm 是asbio 里的function,可是每次总是出错:
> panel.cor.res(x, y, digits = 2, meth = "spearman", cex.cor=1)
Error in is.data.frame(y) : object 'y' not found
> panel.lm(x, y, col =1, bg = NA, pch = 16, cex = 1,
+ col.line = 2, lty = 1)
Error in points(x, y, pch = pch, col = col, bg = bg, cex = cex) :
object 'x' not found
实在不知道怎么解决了。大家能帮帮我么。
b*******n
发帖数: 8420
2
胡乱猜测一下
那个data 文件夹可能不是data.frame形式的
http://msenux.redwoods.edu/math/R/dataframe.php
J******r
发帖数: 2806
3
scatterplot也需要用package么。。。
anyway, 我觉得你的data input有点问题。
如果可以,你可不可以贴投一行of your data file上来
x******m
发帖数: 736
4
1.you may want to use scatterplot() in R,which is easier to be handle for
new users.
2. Don't use "data" as variable name!!! It's a function in R!!! This mistake
is common in rookie programmers.
3. R complains it cannot find y variable. something wrong with your data or
variable name. post your data here.
h******t
发帖数: 10
5
谢谢大家的回复。我贴几行data 上来。我目的是想要做一个matrix 的scatter plot。
upper panel包含 correlation coefficient,lower panel 包含数据的scatterplot,
最好含有estimated trendline,线性即可,不用panel。smooth,那个smooth出来对我
的结果没有什么意义。
网上有一个写好的R程序,不需要用package,但是有很多function,我看不太懂,而且
不能换 correlation的method,比如pearson, spearman (或者是我换的地方不对,
出错了)。
以下几行是我的data,第一行是header,我用了header = TRUE,一共是8个column。我
希望能把这8个vector做一个 scatterplot matrix。请大家多给我指点指点。早上看到
bronstein的回复,我又试了试用read。table,还是没能解决问题。
num_rev_z size_tran_z mode_rev_z cir_cb_z t_log2_-z soft_sq_z
hard_sq_z sp_sqrt_z
-0.547192766 -0.868636422 -1.052436002 -0.484344371 0 1.
816662392 -0.373535719 0.095527427
-0.440678884 0.037311032 1.106336502 -0.711983195 0 -0.
284128179 -0.080620804 -0.921497753
c*****g
发帖数: 66
6
你把这俩行去了试试
##
panel.cor.res(x, y, digits = 2, meth = "spearman", cex.cor=1)
panel.lm(x, y, col =1, bg = NA, pch = 16, cex = 1,
col.line = 2, lty = 1)
##
这俩行不需要的
另外
head(data)
看看你的数据是不是被读进来了

upper.

【在 h******t 的大作中提到】
: 我刚刚开始自学R,作图的时候遇到了一些问题。可能很基本,但是搜索了半天也没有找
: 到答案。这里高手多,请大家帮我看看。
: 我需要做一个 scatterplot 的matrix,找到了 asbio package。 我是这么做的:
: data <-read.csv (file.choose(), header=TRUE, sep=",")
: library(asbio)
: attach(data)
: panel.cor.res(x, y, digits = 2, meth = "spearman", cex.cor=1)
: panel.lm(x, y, col =1, bg = NA, pch = 16, cex = 1,
: col.line = 2, lty = 1)
: pairs(data, cex.labels=1, cex=.95, gap=.1, lower.panel=panel.cor.res, upper.

h******t
发帖数: 10
7
我用了head,读出了前6行,是对的么。如果用read之后直接>mydata,是可以把我的
data全部读出的。
不用那两行的话,如何能在upper panel 和 lower panel 输出不同的信息呢。比如
upper 输出数字的correlation,lower输出scattered plot,外带线性的 trendline?
我知道我的问题比较多,多谢多谢。

【在 c*****g 的大作中提到】
: 你把这俩行去了试试
: ##
: panel.cor.res(x, y, digits = 2, meth = "spearman", cex.cor=1)
: panel.lm(x, y, col =1, bg = NA, pch = 16, cex = 1,
: col.line = 2, lty = 1)
: ##
: 这俩行不需要的
: 另外
: head(data)
: 看看你的数据是不是被读进来了

c*****g
发帖数: 66
8
那么你试了去掉那俩行的结果了吗?你的pairs里面的upper和lower的arguments指明了
用什么function去算了。

【在 h******t 的大作中提到】
: 我用了head,读出了前6行,是对的么。如果用read之后直接>mydata,是可以把我的
: data全部读出的。
: 不用那两行的话,如何能在upper panel 和 lower panel 输出不同的信息呢。比如
: upper 输出数字的correlation,lower输出scattered plot,外带线性的 trendline?
: 我知道我的问题比较多,多谢多谢。

h******t
发帖数: 10
9
啊,我太弱了,居然不知道可以直接用这两个function。我试了,可以作图。但是又有
了问题,只用最后一行的话,怎么样选择panel.cor.res 里面的meth呢?默认的是
pearson 吧,如果换成 spearman,我想当然的用了:
pairs(mydata, cex.labels=1, cex=.95, gap=.1, lower.panel=panel.cor.res(
method=”spearman”), upper.panel=panel.lm)
结果行不通。 :(((((

【在 c*****g 的大作中提到】
: 那么你试了去掉那俩行的结果了吗?你的pairs里面的upper和lower的arguments指明了
: 用什么function去算了。

c*****g
发帖数: 66
10
我猜的,你可以试试,或者你可以尝试修改panel.cor.res
lower.panel = function(x, y, ...) { panel.cor.res(x, y, meth = "spearman") }

【在 h******t 的大作中提到】
: 啊,我太弱了,居然不知道可以直接用这两个function。我试了,可以作图。但是又有
: 了问题,只用最后一行的话,怎么样选择panel.cor.res 里面的meth呢?默认的是
: pearson 吧,如果换成 spearman,我想当然的用了:
: pairs(mydata, cex.labels=1, cex=.95, gap=.1, lower.panel=panel.cor.res(
: method=”spearman”), upper.panel=panel.lm)
: 结果行不通。 :(((((

相关主题
人要有改变命运的勇气请问一下这样的图是用什么软件作出来的,多谢?
Adobe Illustrator里怎么给图片加黑框?Paper Help
简单地说说生物医学里的统计应用吧关于学生写review的问题
进入Biology版参与讨论
h******t
发帖数: 10
11
成了!太感谢了!有高手点拨好过自己瞎撞啊。
我刚刚才接触 R,觉得很有用。可是没有什么编程的基础,每次都是靠google 或者
youtube,很多command看得不太懂是什么意思。能请你介绍几个适合新手学习的网站或
者资料么,谢谢了。

}

【在 c*****g 的大作中提到】
: 我猜的,你可以试试,或者你可以尝试修改panel.cor.res
: lower.panel = function(x, y, ...) { panel.cor.res(x, y, meth = "spearman") }

c*****g
发帖数: 66
12
也许有的人会建议你看书,我个人的看法,对于R这种语法不严格的工具,由于在各种
mailing list上问答的太多了,其实 google + 实际问题 + 实践 是最好的学习方法。
当然如果你想看书,google一下R的tutorial,到处都是。
复杂点的问题,google + mailing list 提问会快很多。

【在 h******t 的大作中提到】
: 成了!太感谢了!有高手点拨好过自己瞎撞啊。
: 我刚刚才接触 R,觉得很有用。可是没有什么编程的基础,每次都是靠google 或者
: youtube,很多command看得不太懂是什么意思。能请你介绍几个适合新手学习的网站或
: 者资料么,谢谢了。
:
: }

h******t
发帖数: 10
13
非常感谢,看来不是一时之功。要多看多练。
我刚才用你给我改正的 function,也照样改了一下原来的,也可以画一样的图了 :)
,不过就是在 pair 里面不知道为什么不能用cex=。95了,如果删掉就可以。那两个星
号是我后加的,指出cex 的位置。可不可以再麻烦你指教一下。
> pairs.mine <- function(x,y,...) {panel.cor.res(x,y,digits=3,meth="pearson"
)}
> pairs.up <- function(x, y,...) {panel.lm(x,y,col =1, bg = NA, pch = 16,
cex = 1,
+ col.line = 2, lty = 1 )}
> pairs(zscore, cex.labels=1, gap=0.1, **cex=.95**, lower.panel=pairs.up,
upper.panel=pairs.mine)

法。

【在 c*****g 的大作中提到】
: 也许有的人会建议你看书,我个人的看法,对于R这种语法不严格的工具,由于在各种
: mailing list上问答的太多了,其实 google + 实际问题 + 实践 是最好的学习方法。
: 当然如果你想看书,google一下R的tutorial,到处都是。
: 复杂点的问题,google + mailing list 提问会快很多。

c*****g
发帖数: 66
14
你的pairs.up里已经有cex了,把它删去就可以了。

pearson"

【在 h******t 的大作中提到】
: 非常感谢,看来不是一时之功。要多看多练。
: 我刚才用你给我改正的 function,也照样改了一下原来的,也可以画一样的图了 :)
: ,不过就是在 pair 里面不知道为什么不能用cex=。95了,如果删掉就可以。那两个星
: 号是我后加的,指出cex 的位置。可不可以再麻烦你指教一下。
: > pairs.mine <- function(x,y,...) {panel.cor.res(x,y,digits=3,meth="pearson"
: )}
: > pairs.up <- function(x, y,...) {panel.lm(x,y,col =1, bg = NA, pch = 16,
: cex = 1,
: + col.line = 2, lty = 1 )}
: > pairs(zscore, cex.labels=1, gap=0.1, **cex=.95**, lower.panel=pairs.up,

h******t
发帖数: 10
15
哦,你这样一说我知道了,cex.label已经定义了 vector 的label大小了,所以cex 本
来是定义pair.lm的,但是在pair.up里定义了,就不需要了,对吧。

【在 c*****g 的大作中提到】
: 你的pairs.up里已经有cex了,把它删去就可以了。
:
: pearson"

h******t
发帖数: 10
16
非常感谢你今天的耐心帮助,也谢谢楼上的各位。

【在 c*****g 的大作中提到】
: 你的pairs.up里已经有cex了,把它删去就可以了。
:
: pearson"

1 (共1页)
进入Biology版参与讨论
相关主题
问个序列比对后作图问题学习各种drug工作原理的动画 (转载)
求origin软件下载人要有改变命运的勇气
现在生物方面论文的写作水平越来越低了Adobe Illustrator里怎么给图片加黑框?
使用macbook的话,大家都用什么软件作图和统计分析?简单地说说生物医学里的统计应用吧
发包子求问,correlation (转载)请问一下这样的图是用什么软件作出来的,多谢?
请教基因coexpression 分析Paper Help
一篇NEJM就这样入账了……关于学生写review的问题
spearman correlation coefficient作array cluster analysis的时候 用Pearson correlation和Euclidean Distance有什么区别?
相关话题的讨论汇总
话题: cex话题: pch话题: spearman话题: data话题: col