在R中选择热图的列

时间:2010-06-02 14:41:31

标签: r heatmap

我需要你的帮助:))

我写了一个R脚本,它从给定的tab-seperated txt或xls文件中生成热图。目前,我在xls文件中手动删除了热像中我不想要的所有列。 现在我想自动化它,但我不知道如何:(

有趣的列在所有xls文件中都是相同的,后跟一个单独的名称:

xls-file 1:L1_tpm_xxxx L2_tpm_xxxx L3_tpm_xxxx

xls-file 2:L1_tpm_xxxx L2_tpm_xxxx L3_tpm_xxxx L4_tpm_xxxx L5_tpm_xxxx

如何选择这些列?

感谢您的期待,菲利普

2 个答案:

答案 0 :(得分:2)

您可以使用(如果您已在data.frame df中读取数据):

df <- df[,grep("^L[[:digit:]]+_tpm.*",colnames(df))]

或者您可以显式编写所需的列:

df <- df[,c("L1_tpm_xxxx","L2_tpm_xxxx","L3_tpm_xxxx")]

等...

以下link非常有用; - )

答案 1 :(得分:0)

如果您认为列位置将在Excel工作表中修复,那么最简单的解决方案就是使用列索引。例如,如果使用read.table将制表符分隔的文本文件作为data.frame导入,然后决定只保留前两列,则可以执行以下操作:

data <- read.table("path_to_file.txt", header=T, sep="\t")
data <- data[,1:2]