我有一个.txt,其中的数据以以下格式存储:
{{1,2,3,4,5},{10,9,8,7,6},{1,3,5,7,9}}
它意味着作为一个5x3矩阵加载,其中内大括号定义3个向量,外大括号定义矩阵。
对于单个向量,使用scan()
函数将文本加载为字符向量,然后使用substr()
删除大括号是很简单的,但似乎必须有一个包或基函数来读取带有这种表示法的向量和矩阵。不幸的是,经过几个小时的搜索,我还没有找到任何关于这个话题的东西。
谢谢
发布于 2020-08-29 01:30:19
我认为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")
https://stackoverflow.com/questions/63638272
复制相似问题