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)