如何将字符类对象中的数据转换为R中的数据帧

问题描述 投票:0回答:1

我基本上有与这个家伙相同的(未回答的)问题——我想导入.raw数据文件在此链接并将其中的数据转换为矩阵/数据帧。

我将 redwt.raw 下载到一个文件夹,将我的工作目录设置为该文件夹,然后按照上面链接中的建议通过以下代码导入它:

test <- readLines("redwt.raw", n = -1)

这可以创建一个名为 test 的角色类对象,我可以在其中看到我的数据。但我不确定如何将该对象中保存的数据转换为数据帧。我可以使用 data.frame(test) 更好地查看数据,但显然它不是数据框。我知道有 10 列,但是我应该使用什么代码来循环这些数字来创建数据帧的行/列?或者是否有一些更有效的方法从头开始导入 .raw 文件?

r readlines
1个回答
0
投票

那个数据看起来很容易导入,有很多假设。

如果数据如下所示:

       1     437       2     437       3     437       4     437       5     437
       7     437       8     437       9     437      10     437      11     437
      12     437      13     437      14     437      15     437      16     437
      17     437      18     437      19     437      20     437      21     707

然后我们可以这样做:

readLines("~/Downloads/redwt.raw") |>
  trimws() |>
  strsplit(" +") |>
  unlist() |>
  matrix(ncol=2, byrow=TRUE) |>
  data.frame() |>
  head()
#   X1  X2
# 1  1 437
# 2  2 437
# 3  3 437
# 4  4 437
# 5  5 437
# 6  7 437
© www.soinside.com 2019 - 2024. All rights reserved.