比较文件和创建新文件

时间:2014-03-18 11:12:35

标签: r file shell concatenation

我有一份成绩单清单

  

ENSMUST00000000001

     

ENSMUST00000000003

     

ENSMUST00000000010

     

...

和转录本的表达谱的数据集

  

ENSMUST00000000001 3536.80209 3663.638964 3200.659615 2865.602080 3295.721742

列表比数据集短。

我想创建一个新文件,其中包含第一个文件中所有脚本的表达式配置文件。任何有关shell或R的建议都将受到赞赏。

感谢。

2 个答案:

答案 0 :(得分:1)

grep -f file1 file2

其中file1是包含脚本列表的文件 和file2是包含转录本表达式配置文件数据集的文件

如果要求仅与file2的第1列进行比较:

awk 'NR==FNR{a[$1];next}($1 in a)' file1 file2
  1. file1内容存储在数组a。
  2. 对于file2中的每一行,如果数组a中存在第一列,则打印。

答案 1 :(得分:0)

如果您需要R版本,例如在R中进行一些下游处理:

ListOfGenes <- read.table("file1")
Expression <- read.csv("file2", sep="/t", header=FALSE)
Datawish <- subset.data.frame(Expression, Expression$V1 %in% ListOfGenes)

我假设您的数据在两个文件中都没有标头。如果是,请对read csv和read table使用header = TRUE,而不是V1使用列名。