我有一个 .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/