热线电话:13121318867

登录
2019-03-08 阅读量: 1136
根据数据框子集大型矩阵

我正在使用R中的一些基因组文件。我有一个像下面的例子那样格式化的大矩阵,其中列是样本,行是基因(真实矩阵有205列,超过22k行。

GSM1304852 GSM1304853 GSM1304854 GSM1304855

1007_s_at 2.3945368 2.27518369 2.1611630 1.9641833

1053_at 0.1051084 0.06160802 0.3421762 0.3593916

117_at -0.4597124 -0.52310349 -0.4436059 -0.6370277

121_at 0.9333566 1.13180904 0.9975700 1.0079778

我还有一个像下面的例子那样格式化的数据帧,其中geo_accession可以在矩阵的第一行中找到相同的id。

title geo_accession Age Disease_State Gender pH PMI Race RIN tissue

GSM1304852 bipolar_hip_10 GSM1304852 52 bipolar disorder M 6.7 23.5 W 6.3 hippocampus

GSM1304853 bipolar_hip_11 GSM1304853 50 bipolar disorder F 6.4 11.7 W 6.8 hippocampus

GSM1304854 bipolar_hip_12 GSM1304854 28 bipolar disorder F 6.3 22.3 W 7.7 hippocampus

GSM1304855 bipolar_hip_13 GSM1304855 55 bipolar disorder F 6.4 17.5 W 7.6 hippocampus

GSM1304856 bipolar_hip_14 GSM1304856 58 bipolar disorder M 6.8 27.7 W 7.0 hippocampus

GSM1304857 bipolar_hip_15 GSM1304857 28 bipolar disorder M 6.2 27.4 W 7.7 hippocampus

我需要将与特定组织相关的矩阵中的所有列进行子集化(在完整的数据帧中有3种组织),因此最后,我需要有3个矩阵。

例如:从矩阵我想只采取与hippocampus以下相关的列:

matrix # an R matrix object

DataFrame # an R dataframe

DFhip <- DataFrame[ which(tissue == 'hippocampus',]

GSMlist <- DFhip$geo_accesion

MatrixHip <- matrix[GSMlist,] # I know this is the wrong syntax, it's just to let you understand

我对R比较新,我不习惯子集矩阵。

解决办法:我不确定我是否理解你的问题,但如果你想为ine行子集数据帧,只需使用:

data1<-data[data[1] %in% c("GSM1304852","GSM1304855")]

on data [1]是数据框中需要子集的列数

15.9796
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子