R Excel数据组织在多个嵌套行中,是否可以读取?

R Excel数据组织在多个嵌套行中,是否可以读取?,r,xlsx,R,Xlsx,请看图片。我已经开始使用R,并且知道它可以从Excel中读取文件,但是它可以读取这样的格式吗 (很抱歉,上传对我不起作用)详细说明评论中的一些内容: 如果将文件加载到Excel中,则可以将其另存为固定宽度或逗号分隔的文本文件。两者都应该很容易读入R 以下几点对您来说可能已经很明显了 (首先,一个问题:您确定不能以每行有一组数据的格式获取数据吗?您获取的文件是否可能是从更利于将数据加载到R的不同文件格式生成的?) 您是应该开始在R中重新排列数据,还是操作原始文本,取决于您(或您身边有人可以提供帮

请看图片。我已经开始使用R,并且知道它可以从Excel中读取文件,但是它可以读取这样的格式吗


(很抱歉,上传对我不起作用)

详细说明评论中的一些内容:

如果将文件加载到Excel中,则可以将其另存为固定宽度或逗号分隔的文本文件。两者都应该很容易读入R

以下几点对您来说可能已经很明显了

(首先,一个问题:您确定不能以每行有一组数据的格式获取数据吗?您获取的文件是否可能是从更利于将数据加载到R的不同文件格式生成的?)

您是应该开始在R中重新排列数据,还是操作原始文本,取决于您(或您身边有人可以提供帮助)的自然反应。就我个人而言,在将文本文件加载到R之前,我会在R之外重新排列文本文件。这对我来说是最简单的。Perl是一种很好的语言,但如果您可以访问Unix shell脚本,也可以使用功能强大的编辑器(如Vim或Emacs)来实现。如果您没有偏好,我建议使用Perl。如果你有任何重要的编程经验,你将能够学到你需要的东西。另一方面,您已经将其加载到R中,因此在那里处理数据可能会更好

例如,您可以执行一个循环,逐行遍历文本文件,并执行如下操作:

while (still have lines to read) {
  read first header line into an vector if this is the first time through the loop
   otherwise, read it and throw it away
  read data line 1 into an vector
  read second header line into vector if this is the first time
   otherwise, read it and throw it away
  read data line 2 into an vector
  read third header line into vector if this is the first time
   otherwise, read it and throw it away
  read data line 3 into an vector
  if this is first time through, concatenate the header vectors; store as next row
    in something (a file, a matrix, a dataframe, etc.)
  concatenate the data vectors you've been saving, and store as next row in same thing
}

write out the whole 2D data structure

或者,如果标题永远不会更改,那么您可以在循环之前将其直接嵌入脚本中,然后不管发生什么都将其丢弃。这将使代码更干净。或者单独读取文件的前几行以获取标题,然后使用单独的脚本读取数据并将其添加到包含标题的文件中。(标题在R中可能很有用,因此我建议将它们保留在文本文件的顶部。)

是的。但它需要一些正则表达式和拆分foo。我想它可以。我将研究这些方法,谢谢你给我指出了正确的方向。如果没有一个可复制的例子,恐怕我们无能为力。让我们先把数据输入R。您是否尝试过使用设计用于读取excel文件的函数读取该文件?这是固定宽度格式。请参见
?read.fwf
我最喜欢的是数据样本上的保密通知