1

我再次需要你的帮助:)

我编写了一个 R 脚本,它从给定的制表符分隔的 txt 或 xls 文件生成热图。目前,我在 xls 文件中手动删除了我不想在热图中包含的所有列。现在我想自动化它,但我不知道如何:(

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

xls 文件 1:L1_tpm_xxxx L2_tpm_xxxx L3_tpm_xxxx

xls 文件 2:L1_tpm_xxxx L2_tpm_xxxx L3_tpm_xxxx L4_tpm_xxxx L5_tpm_xxxx

任何想法如何选择这些列?

谢谢你的期待,菲利普

4

2 回答 2

2

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

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

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

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

ETC...

以下链接非常有用;-)

于 2010-06-02T15:32:30.790 回答
0

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

data <- read.table("path_to_file.txt", header=T, sep="\t")
data <- data[,1:2]
于 2010-06-02T15:36:25.610 回答