R-将特定列打印为x,两行作为直线
以下是我的一个小样本数据:R-将特定列打印为x,两行作为直线,r,plot,R,Plot,以下是我的一个小样本数据: gene_name ctrl_lsm1_ratio_t0 ctrl_lsm1_ratio_t1 ctrl_lsm1_ratio_t2 22 ABP140 -0.262682 -0.303352 -0.223626 246 ARI1 -0.163952 -0.374765 -0.321876 454 BPH1
gene_name ctrl_lsm1_ratio_t0 ctrl_lsm1_ratio_t1 ctrl_lsm1_ratio_t2
22 ABP140 -0.262682 -0.303352 -0.223626
246 ARI1 -0.163952 -0.374765 -0.321876
454 BPH1 -0.517519 -0.524553 -0.747609
513 BUR6 0.645573 0.217433 0.390403
588 CDC20 -0.264072 -0.665268 -0.594191
ctrl_lsm1_ratio_t3 ctrl_lsm1_stat_t0 ctrl_lsm1_stat_t1 ctrl_lsm1_stat_t2
22 -0.421704 no no no
246 -0.692391 no no no
454 -0.793595 no no yes
513 0.200799 yes no no
588 -0.523884 no yes yes
ctrl_lsm1_stat_t3 systematic_name
22 yes YOR239W
246 yes YGL157W
454 yes YCR032W
513 no YER159C
588 yes YGL116W
我想在x轴上绘制列[,2:5](如时间点0、1、2和3),y轴拟合比率列
如果有一种方法可以在特定时间点将点的颜色设置为“是”或“否”的一种颜色,我也希望能够做到这一点。(例如,ctrl_lsm1_ratio_t0列中的点将基于ctrl_lsm1_stat_t0列中的值着色)
我还希望一次只绘制两行,都作为线(例如,第22行和第513行)。希望这有意义!我是新手,不知道该怎么办。我愿意下载任何必要的软件包。data.csv:
gene_name,ctrl_lsm1_ratio_t0,ctrl_lsm1_ratio_t1,ctrl_lsm1_ratio_t2,ctrl_lsm1_ratio_t3,ctrl_lsm1_stat_t0,ctrl_lsm1_stat_t1,ctrl_lsm1_stat_t2,ctrl_lsm1_stat_t3,systematic_name
ABP140,-0.262682,-0.303352,-0.22362,-0.421704,no,no,no,yes,YOR239W6
ARI1,-0.163952,-0.374765,-0.32187,-0.692391,no,no,no,yes,YGL157W6
BPH1,-0.517519,-0.524553,-0.74760,-0.793595,no,no,yes,yes,YCR032W9
BUR6,0.645573,0.217433,0.39040,0.200799,yes,no,no,no,YER159C3
CDC20,-0.264072,-0.665268,-0.59419,-0.523884,no,yes,yes,yes,YGL116W1
代码:
ddo是否希望所有这些都显示在一个绘图中?否,每两行一个绘图。我有一个参考行,我希望与所有其他行进行单独比较。您是否可以与(比如)dput(head(mydata,20))
共享一个可复制的数据示例?只需将输出编辑到您的问题中。对不起,我不熟悉dput函数。你在找我的原始数据吗?编辑:我用我的数据尝试了这个函数,结果它吐出了一堆东西。我的dataframe是54行10列,所以可能太大了?您可能需要重新格式化代码,以便在不进行水平滚动的情况下将其放入窗口中。到时候会有更多的人看到它。
d<-read.csv("data.csv", header=T, stringsAsFactors=F)
matplot(t(d[,2:5]), type="l", pch=20, lty=1, xlab="time", ylab="ctrl_lsm1_ratio")
d2<-reshape(d[,6:9],varying=list(names(d[,6:9])),direction="long",v.name="ctrl_lsm1_stat", ids=d$gene_name)
points(d2$time, unlist(d[,2:5]), col=ifelse(d2$ctrl_lsm1_stat=="yes",1,2),cex=2.0)
legend("topright",legend=c("yes","no"), col=c(1,2), pch=21)