r - 在 R 版本 4.0.0 中导入 .txt 文件,其中数据包含在 { } 中

标签 r matrix curly-braces

我有一个 .txt,其中数据以以下格式存储:

{{1, 2, 3, 4, 5}, {10, 9, 8, 7, 6}, {1, 3, 5, 7, 9}}

它旨在作为 5x3 矩阵加载,其中内部花括号定义 3 个向量,外部花括号定义矩阵。

对于单个向量,使用 scan() 函数将文本作为字符向量加载,然后使用 substr() 删除大括号很简单,但是似乎必须有一个包或基本函数来用这种表示法读取向量和矩阵。不幸的是,经过几个小时的搜索,我没有找到任何关于这个主题的信息。

谢谢

最佳答案

我认为 AllanCameron 的评论是一个很好的提示:它与 JSON 足够接近,您可以将其视为这样(稍加修改):

txt <- "{{1, 2, 3, 4, 5}, {10, 9, 8, 7, 6}, {1, 3, 5, 7, 9}}"
jsonlite::fromJSON(gsub("\\}", "]", gsub("\\{", "[", txt)))
#      [,1] [,2] [,3] [,4] [,5]
# [1,]    1    2    3    4    5
# [2,]   10    9    8    7    6
# [3,]    1    3    5    7    9

要对文件执行此操作,您必须首先读取其中的全部内容,

txt <- paste(readLines(txtfile), collapse = "\n")

关于r - 在 R 版本 4.0.0 中导入 .txt 文件,其中数据包含在 { } 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63638272/

相关文章:

python - 在 Python 中有什么方法可以追加到后面吗?

python - 将字典转换为稀疏矩阵

java - 简单的 if 语句与普通的 if 语句

r - 用 NA 值计算卡方

readRDS 无法读取 R 中的文件。有替代方法吗?

r - 从 data.frame 行中提取字符列表值并 reshape 数据

c++ - 初始化二维数组 C++

函数末尾的 C++ 段错误。引用线 = 右大括号

json - Scala通过带有 yarn 的Spark - 缺少大括号字符串

r - 出于教学目的,什么是真正干净清晰的 [R] 代码的好例子?