【发布时间】:2020-10-15 11:18:26
【问题描述】:
我是 R 新手,正在尝试大规模引入 24 列只有一行的表格。
这些表位于使用 print() 函数从不同的 R 代码和 bash 脚本输出的文本文件中 - 我这样做是因为我必须一次输出 1000 个这些表,并且希望能够快速扫描他们。如上所述,输出有很多列但只有一行,当它在文本文件中时,表格会溢出到多行。
这是一个为简单起见而修改的表格示例 - 实际上,有一些额外的列会导致更多行,但都一样,只有一行,每列名称都是“columnx”(在真实的东西。)
我使用 read.table 将表格引入 R 的方法之一,然后将“header”和“fill”设置为 TRUE。 (我也摆弄过 readLines、readCVS、scan 等,但 read.table 是迄今为止最好的结果。)但是,当我这样做时,它只会将列标题的第一行解释为列。下面的所有内容,包括其他列和列名,都是属于这些列的行。所以在上图的情况下,只有columns1:17 包含在列标题中。
我想知道在我尝试使用 readLines 读取它并解析它之前,是否有人对从哪里开始解决这个问题有任何建议。我正在尝试找到更改输出的解决方案,以便文本文件在一行上生成所有列。
谢谢!
【问题讨论】:
-
您对其他 R 代码有任何控制权吗?依赖
print()并将输出写入文件的方法将根据每次运行其他脚本时控制台的宽度为您提供不同的东西。最好能够使用write.csv或其他旨在将数据写入其他脚本中的文件的函数,这将使读取该脚本中的数据变得容易。 -
如果没有样本数据,我无法对此进行任何尝试,我也不会尝试将其转录为可用的东西。当原始文件(前两行)应该很容易包含在您问题的代码块中时,请不要包含数据/代码/错误的图像。
-
@r2evans 对此感到抱歉!我认为代码块仅用于代码脚本,但现在我正在阅读它,我可以看到我对此一无所知,以及它如何被认为是非常糟糕的形式哈哈。感谢您的反馈并让我知道。 :)
-
“代码块”非常适合任何受益于固定宽度字体的东西,数据就是这样一个例子。
-
@CalumYou 感谢您的帮助!我最初对 write.csv 不确定,因为我需要一次输出 1000 个这些表,这就是我使用 print 和 bash 脚本的目的,我不确定是否可以使用 write.csv 来做到这一点,但我会对此进行更多研究,因为这听起来可以解决我的问题!
标签: r