如何将不同文件的特定部分复制到不同的目录中并保存以在 R 中打开?

How can I copy specific parts of different files in different directories and save them to open in R?

我有几个同名文件:data.out 它们在不同的文件夹中。

我需要获取这些文件中每个文件的一些数据,将它们保存在文件 (.csv) 中,以便稍后在 R 中打开。我在每个文件中需要的数据是 7x7 矩阵。 像那样:

***** Estimates of covariance matrix   ***************************************
      
 Matrix 
   1     0.8
   2     5.6       0.2
   3     3.6       5.1       1.3
   4     1.2       6.6       1.2       5.6
   5     2.7      -3.2      -8.6       3.1       7.2
   6     5.1       9.3       5.8       2.4       4.2       6.2
   7     1.5      -2.6      -3.1       9.2       8.1       8.7
         1.1
**** Estimates of residual matrix  ***********************************
 Covariance matrix
   1     2.1
   2     4.1       3.1
   3     1.3       5.6       1.4
   4     4.5       2.1       8.5       1.1
   5     5.1      -5.1      -6.6       5.2       4.1
   6     2.4       4.7       4.2       3.1      -1.2       1.7
   7     1.2       9.2       3.1       4.5       8.1       1.3
         3.9

**** Estimates of correlation matrix  ***********************************
 Correlation matrix
   1     1
   2     4.1       1
   3     1.3       5.6       1
   4     4.5       2.1       8.5       1
   5     5.1      -5.1      -6.6       5.2       1
   6     2.4       4.7       4.2       3.1      -1.2       1
   7     1.2       9.2       3.1       4.5       8.1       1.3
         3.9

我想知道 vim 是否可以帮助我做我想做的事,但我想不通。我首先想到使用行号作为索引,但它们在每个文件中都不相同。 简而言之,我想从每个目录(不同名称)中的每个文件(data.out)中获取这些矩阵。然后,将它们另存为 .csv 文件以在 R 中打开。

这是我无需手动复制和粘贴的方法吗? vim 或其他文本编辑器甚至 R 可以帮助我更快地完成此操作吗? 谢谢

我不确定这是否是您要查找的内容,但您可以使用大写字母附加到寄存器。 示例:

  • 在第一个文件中,直观地 select 所需的文本。 复制注册'a':"ay
  • 在以下文件中,视觉上 select 所需的文本。 追加到同一个寄存器:"Ay
  • 在目标文件中,从所述寄存器粘贴"ap

您还可以 copy/append 您从 Vim 了解到的其他方式。例如:将以下 5 行附加到寄存器 'a':4"Ayj,或从大括号内附加到寄存器 'a':"Ayi}